Re: Iptables
Да, вы правы.. не слушает... Хм.. пойду искать "как заставить nginx слушать нужный порт и сайт"
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Да, вы правы.. не слушает... Хм.. пойду искать "как заставить nginx слушать нужный порт и сайт"
подскажите, как сделать перенаправление порта через iptables, аналогичное тому что гегерирует веб-фейс ? нужно перенаправить порт с адресом в другой подсети, а веб-фейс этого не позволяет
правило для открытия порта идентичное веб-фейсовому, составить удалось без особых проблем
iptables -I FORWARD -p tcp -d 192.168.0.200 -m state --state NEW --destination-port 80 -j ACCEPT
а вот с перенаправлением вышел затык
Отредактировано avtoTaz (2014-10-26 21:59:45)
Добрый день. Пропал досту по SSH, я что-то намутил в файле s10dropbear, когда пытался открыть доступ к зюхе через интернет по ssh, теперь даже если в управление открываешь 22 порт и заходишь по ssh через путти, то просто сессия висит и все. Причем как и через интернет так и через локалку, ое вообще пропал... Еще вопрос можно ли править файлы по фтп, просто зюха стоит дома и естественно там нет времени им заниматься, а на роботе есть. Вот я и правил этот файл по фтп и потом обратно его заливал, правил через notepad++.
#!/bin/sh
MOUNTPNT="/media/DISK_A1"
MOUNT="$MOUNTPNT/system"
RSA="$MOUNT/etc/dropbear/dropbear_rsa_host_key"
DSS="$MOUNT/etc/dropbear/dropbear_dss_host_key"
PID="/var/run/dropbear.pid"
PORT_F=22DROPBEAR="$MOUNT/usr/sbin/dropbear"
export PATH=$MOUNT/bin:$MOUNT/sbin:$MOUNT/usr/bin:$MOUNT/usr/sbin:/sbin:/usr/sbin:/bin:/usr/bin
export LD_LIBRARY_PATH=$MOUNT/lib:$MOUNT/usr/lib:/lib:/usr/libdropbear_status ()
{
[ -f $PIDFILE ] && [ -d /proc/`cat $PID` ]
}start()
{
$DROPBEAR -d $DSS -r $RSA -p $PORT -P $PID
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
}stop()
{
kill `cat $PID`
}if [ "$2" == "automount" ]; then
exit
fiif [ "$2" == "init" ]; then
start
ficase "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
iptables нужно ставить отдельно или он входит в базовый ext_init ?
У меня файл disk_a1\system\bin\ext_firewall.sh присутствует, датирован 24.04.2011 и содержит код:
#!/bin/sh
MOUNT="/media/DISK_A1/system"
FWD="$MOUNT/etc/firewall.d"
export PATH=$MOUNT/bin:$MOUNT/sbin:$MOUNT/usr/bin:$MOUNT/usr/sbin:/sbin:/usr/sbin:/bin:/usr/bin
export LD_LIBRARY_PATH=$MOUNT/lib:$MOUNT/usr/lib:/lib:/usr/lib
start() {
for prog in `ls $FWD`; do
$FWD/$prog
done
}
start
iptables нужно ставить отдельно или он входит в базовый ext_init ?
iptables входит в состав прошивки роутера.
У меня файл disk_a1\system\bin\ext_firewall.sh присутствует, датирован 24.04.2011 и содержит код:
Собственно, этот код повелевает выполнить всё файлы(исполняемые) из папки /media/DISK_A1/system/etc/firewall.d
создал скрипт fw.sh такого содержания:
#!/bin/sh
iptables -A INPUT -s 192.1.1.0/24 -d 209.17.178.195 -j REJECT
Закинул его в disk_a1\system\etc\firewall.d\ и дал 777
скрипт выполнился, а вот правило не сработало, внешний адрес 209.17.178.195 по прежнему пингуется из локалки.
/media/DISK_A1/system/root # iptables -nvL
Chain INPUT (policy DROP 45875 packets, 3775K bytes)
pkts bytes target prot opt in out source destination
30872 4329K ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
24392 3191K ACCEPT all -- ppp0 * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT 2 -- ppp0 * 0.0.0.0/0 0.0.0.0/0
1034 41360 ACCEPT all -- eth2.2 * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT 2 -- eth2.2 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT udp -- eth2.2 * 0.0.0.0/0 0.0.0.0/0 udp dpt:1701
0 0 ACCEPT tcp -- eth2.2 * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
131 7008 ACCEPT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
0 0 DROP icmp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 icmp type 8
0 0 DROP icmp -- eth2.2 * 0.0.0.0/0 0.0.0.0/0 icmp type 8
557 68183 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255
0 0 REJECT all -- * * 0.0.0.0/0 209.17.178.195 reject-with icmp-port-unreachable
Chain FORWARD (policy DROP 2349 packets, 152K bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- !br0 eth2.2 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- !br0 ppp0 0.0.0.0/0 0.0.0.0/0
416K 22M ACCEPT all -- ppp0 * 0.0.0.0/0 192.1.1.4 state NEW
1 78 ACCEPT all -- eth2.2 * 0.0.0.0/0 192.1.1.4 state NEW
395K 34M ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 state NEW
457K 32M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 MINIUPNPD all -- eth2.2 !eth2.2 0.0.0.0/0 0.0.0.0/0
0 0 MINIUPNPD all -- ppp0 !ppp0 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 76784 packets, 13M bytes)
pkts bytes target prot opt in out source destination
Chain MINIUPNPD (2 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.1.1.4 udp dpt:53791
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.1.1.4 udp dpt:65166
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.1.1.4 udp dpt:55267
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.1.1.4 udp dpt:51662
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.1.1.4 udp dpt:60390
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.1.1.10 tcp dpt:33196
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.1.1.10 udp dpt:33196
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.1.1.2 tcp dpt:30173
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.1.1.2 udp dpt:30173
/media/DISK_A1/system/root #
В чем может быть проблема ?
В чем может быть проблема ?
А чего REJECT а не DROP ?
Я бы DROP написал...
Стоп, стоп, стоп!.. А таблица-то почему INPUT ?
Так оно, по-ходу, вообще никогда и не отрабатывает. ИМХО, в FORWARD это надо...
Вообще, лучше про iptables почитать.... Гугл неплохую доку находит(в т.ч. и на русском языке).
Погуглил на iptables, там везде разные, нет четкого и однозначного варианта брокировки "злоумышленника"
пробовал 3 варианта:
iptables -A OUTPUT -d 209.17.178.195 -j DROP
iptables -A INPUT -d 209.17.178.195 -j DROP
iptables -A FORWARD -d 209.17.178.195-j DROP
после форварда сначала была блокировка одного пинга, но следующие пошли как ни в чем не бывало.
Ответ от 209.17.178.195: число байт=32 время=235мс TTL=109
Превышен интервал ожидания для запроса.
Ответ от 209.17.178.195: число байт=32 время=235мс TTL=109
Ответ от 209.17.178.195: число байт=32 время=235мс TTL=109
Ответ от 209.17.178.195: число байт=32 время=240мс TTL=109
Ответ от 209.17.178.195: число байт=32 время=238мс TTL=109
Превышен интервал ожидания для запроса.
Ответ от 209.17.178.195: число байт=32 время=242мс TTL=109
Ответ от 209.17.178.195: число байт=32 время=240мс TTL=109
Ответ от 209.17.178.195: число байт=32 время=237мс TTL=109
Отредактировано YURETS (2014-12-19 21:15:24)
там везде разные, нет четкого и однозначного варианта брокировки "злоумышленника"
Всё логично - у всех свои задачи, и вариантов их решения тоже может быть много.
1) Опишите(сформулируйте) свою задачу(я так понимаю, ваш "злоумышленник" находиться во внутренней сети, не в инете?)
2) Если пользуете цепочку FORWARD, то проверять пинг надо не с роутера, а с компа.
3) Надо просто изучить доку на iptables - понимание того, какое нужно правило потом постепенно придет.
4) Вкратце ваши 3 варианта:
а) блокировка доступа(посылки пакетов) с РОУТЕРА(не с компов из локалки) на адрес 209.17.178.195
б) блокировка доступа(приема пакетов) на РОУТЕР с адреса 209.17.178.195
в) блокировка доступа(посылки пакетов) из локалки на адрес 209.17.178.195 (вроде должно работать, только вот пробела перед -j не видно)
Dr.Acid
1. Неправильно, злоумышленник в интернете, далеко за пределами страны
Задача заблочить это адрес, чтобы он не пинговался и чтобы от него и к нему не шли пакеты из моей локальной сети, которая за натом.
2. Это пинг с компа.
3. доку бегло прочел, остановился на примерах по блокировке, там INPUT и DROP
4. В одной команде не получится блокировать как на прием так и на отправку, нужны разные команды ?
YURETS
1) ??? (Вообще теперь не понятно!) 209.17.178.195 это адрес внутри вашей сети, или в инете? Если в инете, то, боюсь, на него никак не получится воздействовать(при атаке из инета, опять-же).
2) Компа из "локалки" роутера, надо понимать?
3) Примеры обычно пишутся для(защиты) NIX-овых компов(посредством iptables на нихже), поэтому и INPUT
4) Конечно же разные - хоть целый вагон их пишите.
P.S.
Специально попробовал сейчас закрыть mail.ru - ( один из айпи: 217.69.139.201)
Получилось так:
iptables -I FORWARD -d 217.69.139.201 -j DROP
Ключевой момент здесь - I вместо A, чтобы правило стало "наверх".
А с A не работает - вот какая штука!
Отредактировано Dr.Acid (2014-12-20 01:26:09)
Dr.Acid
То что доктор прописал, спасибо огромное!!!
твет от 209.17.178.195: число байт=32 время=223мс TTL=108
твет от 209.17.178.195: число байт=32 время=223мс TTL=108
твет от 209.17.178.195: число байт=32 время=229мс TTL=108
твет от 209.17.178.195: число байт=32 время=224мс TTL=108
твет от 209.17.178.195: число байт=32 время=224мс TTL=108
твет от 209.17.178.195: число байт=32 время=224мс TTL=108
твет от 209.17.178.195: число байт=32 время=225мс TTL=108
твет от 209.17.178.195: число байт=32 время=225мс TTL=108
твет от 209.17.178.195: число байт=32 время=223мс TTL=108
твет от 209.17.178.195: число байт=32 время=223мс TTL=108
твет от 209.17.178.195: число байт=32 время=224мс TTL=108
ревышен интервал ожидания для запроса.
ревышен интервал ожидания для запроса.
ревышен интервал ожидания для запроса.
ревышен интервал ожидания для запроса.
ревышен интервал ожидания для запроса.
ревышен интервал ожидания для запроса.
ревышен интервал ожидания для запроса.
ревышен интервал ожидания для запроса.
1. Адрес в инете, всё получилось как надо.
2. Совершенно верно.
3. Ясно.
4. И в каждой следующей команде скрипта fw.sh писать I чтобы правило первым выполнялось, так ?
4. И в каждой следующей команде скрипта fw.sh писать I чтобы правило первым выполнялось, так ?
Зависит от ситуации. Иногда между A и I нет никакой разницы, иногда есть. В вашем случае она есть:
Вот мой фрагмент вывода iptables -nvL (штатный, без экспериментов):
Chain FORWARD (policy DROP 4043 packets, 162K bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- !br0 eth2.2 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- !br0 ppp0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.168.1.13 state NEW udp dpt:8621
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.1.13 state NEW tcp dpt:8621
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.168.1.11 state NEW udp dpt:51413
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.1.11 state NEW tcp dpt:51413
6905 360K ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 state NEW
1871K 1677M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
Здесь основные рабочие - 2 последние строчки - они, по сути, всё и пропускают.
Если добавить правило через A(append), оно встанет в конц, и при просмотре таблицы до него "не дойдет" дело - пакеты установки соединения пропустит
ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 state NEW
последующие
ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
Если добавить через I(insert?), оно окажется наверху и дропнет нужные пакеты.
Я когда делал "белый список", то сначала очищал таблицу полностью:
iptables -F FORWARD
iptables -P FORWARD DROP
А потом прописывал нужные правила для пересылки пакетов - там было всё-равно, кто в каком порядке идет, поэтому делал через A(но можно и через I):
iptables -A FORWARD --source 192.168.0.0/16 --destination aa1.bb1.cc1.dd1/32 --match state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD --source 192.168.0.0/16 --destination aa2.bb2.cc2.dd2/32 --match state --state NEW,ESTABLISHED -j ACCEPT
-------
и т.д.
-------
# back response from Inet
iptables -A FORWARD --destination 192.168.0.0/16 --match state --state ESTABLISHED -j ACCEPT
Имеется сервер с настроенным SQUID`ом, который подключен через роутер Zyxel GIGA 2 прошитый 1 версией прошивки, раздающий интернет на все подключенные к нему компьютеры находящихся в сети 192.168.1.0/24. ( Сервер 192.168.1.2 )
Подскажите какие правила необходимо указать в iptables роутера, чтобы он делал редирект запросов поступающих на 80 порт роутера, на порт сервера 3128.
Встретил подобную тему http://forum.zyxmon.org/topic183-prozra … roksi.html с указанием правил, которые я пытался хоть как то изменить, но ничего из этого не вышло.
Надеюсь на вашу помощь.
Отредактировано 876974 (2015-04-22 04:07:29)
Подскажите, как открыть извне доступ к ВЕБ-интерфейсу xupnpd? Его локальный адрес: http://192.168.1.1:4044/
Порт слушается:
# netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 KEENETIC:4044 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:domain 0.0.0.0:* LISTEN
tcp 0 0 KEENETIC:4022 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:telnet 0.0.0.0:* LISTEN
netstat: no support for 'AF INET6 (tcp)' on this system
Создал файл /media/DISK_A1/system/etc/firewall.d/firewall.sh
#!/bin/sh
iptables -A INPUT -p tcp --dport 4044 -j ACCEPT
Файл подхватился:
# iptables -n -L -v --line-numbers
Chain INPUT (policy DROP 139 packets, 9973 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
2 19 608 ACCEPT all -- eth2.2 * 0.0.0.0/0 224.0.0.0/4
3 462 50996 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
4 289 43751 ACCEPT all -- eth2.2 * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
5 0 0 ACCEPT 2 -- eth2.2 * 0.0.0.0/0 0.0.0.0/0
6 0 0 DROP icmp -- eth2.2 * 0.0.0.0/0 0.0.0.0/0 icmp type 8
7 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255
8 2 104 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:4044
Chain FORWARD (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 DROP all -- !br0 eth2.2 0.0.0.0/0 0.0.0.0/0
2 54 5664 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 state NEW
3 606 273K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT 1282 packets, 279K bytes)
num pkts bytes target prot opt in out source destination
У роутера статичный IP-адрес.
Пытаюсь зайти на http://(внешний IP):4044 - не получается...
http://zyxel.ua/openport говорит, что порт закрыт...
separatist, сделали?
iptables -I INPUT -i lo -j ACCEPT
В курсе, что dlna через инет не работает? Большого смысла управлять xypnpd я не вижу.
Zyxmon, добавил
iptables -I INPUT -i lo -j ACCEPT
в /media/DISK_A1/system/etc/firewall.d/firewall.sh
Не помогло.
DLNA через инет не собираюсь использовать.
Хочу путем http://(внешний IP):4044/ui/myplaylist.m3u открыть доступ к плейлисту.
Аналогично у меня не получается открыть вовне порт 4022 для раздачи IPTV моего провайдера свом родителям, у которых другой провайдер... хотя 80 порт с админкой роутера открывается таким способом без проблем.
DLNA через инет не собираюсь использовать.
Хочу путем http://(внешний IP):4044/ui/myplaylist.m3u открыть доступ к плейлисту.
А это не через инет??
Мне в голову приходит туннелировать всё это добро через VPN. Но насколько я знаю vpn обычно режет широковещательные пакеты. Это как то надо побороть.. Возможно попробовать SSH-тоннель. Как там не знаю, не пробовал пока ещё..
Аналогично у меня не получается открыть вовне порт 4022 для раздачи IPTV моего провайдера свом родителям, у которых другой провайдер... хотя 80 порт с админкой роутера открывается таким способом без проблем.
То же думаю в сторону тоннеля копать. Самба наружу то же не высовывается, даже если порты открыть соответствующие, пробовал в своё время, обломался..
__________________
С уважением, Константин, a.k.a - КБ
ZyXEL Keenetic Giga II (чёрный) | FW V1.11.RU.NDMS 2014-01-08 21:02:21 | Entware
Отредактировано pulsar_85 (2015-05-03 04:32:20)
Мне в голову приходит туннелировать всё это добро через VPN. Но насколько я знаю vpn обычно режет широковещательные пакеты. Это как то надо побороть..
OpenVPN в режиме tap. Аалогично для IPTV и самбы...
pulsar_85 :Мне в голову приходит туннелировать всё это добро через VPN. Но насколько я знаю vpn обычно режет широковещательные пакеты. Это как то надо побороть..
OpenVPN в режиме tap. Аалогично для IPTV и самбы...
Почитал, да, похоже на то что нужно)) Запишу себе на подкорку, пока не дорос до такого))
__________________
С уважением, Константин, a.k.a - КБ
ZyXEL Keenetic Giga II (чёрный) | FW V1.11.RU.NDMS 2014-01-08 21:02:21 | Entware
На основе PunBB, при поддержке Informer Technologies, Inc.