Добрый день. Начинаю изучать iptables, буду признателен если поможете:
1) Задача номер один: прокси-сервер с интерфейсами: eth0 - lan, eth1- wan. Задача выпустить из локальной сети в интернет только определенные ip адреса! На данный момент правилами открыты все из локалки, и закрыто все со стороны интернета. Если правильно понял нужно видоизменить существующее правило:
-A FORWARD -i eth0 -j ACCEPT
на что-то в этом роде:
-A FORWARD -s "ip адрес из локальной сети" -j ACCEPT или не прав???
По умолчанию в цепочке filter применяется drop к INPUT, FORWARD, OUTPUT
2). Задача номер два: видоизменить правило запрещающее любое подключение со стороны интернет - на подключение с определенного ip-адреса по ssh.
Iptables для бегиннера
http://forum.lugsurguta.org/viewtopic.php?f=12&t=120
Вот мануал по теме.
Оставь коменты плиз если что-то там непонятно написано.
http://forum.lugsurguta.org/viewtopic.php?f=12&t=120
Вот мануал по теме.
Оставь коменты плиз если что-то там непонятно написано.
-----
Вопросов много. Поясните для начала в какой цепочке нужно вносить изменения чтобы доступ в интернет был не всем из локальной сети , ат только определенному статическому Ip-адресу из локалки? в FORWARD или OUTPUT
FORWARD
FORWARD
Имею следующий работоспособный скрипт:
Показать
:INPUT DROP [xxx:xxxxx]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:allowed - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_packets - [0:0]
:udp_packets - [0:0]
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -s 192.16.0.0/255.255.255.0 -i eth0 -j ACCEPT
-A INPUT -s 127.0.0.1 -i lo -j ACCEPT
-A INPUT -s 192.16.0.XX -i lo -j ACCEPT
-A INPUT -s 93.343.XXX.XX -i lo -j ACCEPT
-A INPUT -d 93.343.XXX.XXX -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i eth1 -p tcp -j tcp_packets
-A INPUT -i eth1 -p udp -j udp_packets
-A INPUT -i eth1 -p icmp -j icmp_packets
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT INPUT packet died: " --log-level 7
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT FORWARD packet died: " --log-level 7
-A OUTPUT -p tcp -j bad_tcp_packets
-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 192.16.0.XX -j ACCEPT
-A OUTPUT -s 93.343.XXX.XXX -j ACCEPT
-A OUTPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT OUTPUT packet died: " --log-level 7
-A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowed -p tcp -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "New not syn:"
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
*mangle
:PREROUTING ACCEPT [XXXX:XXXXXXX]
:INPUT ACCEPT [XXXX:XXXXXX]
:FORWARD ACCEPT [XXX:XXXXXX]
:OUTPUT ACCEPT [XXXX:XXXXXXXX]
:POSTROUTING ACCEPT [XXXX:XXXXXXX]
*nat
:PREROUTING ACCEPT [XXX:XXXXX]
:POSTROUTING ACCEPT [XXX:XXXXX]
:OUTPUT ACCEPT [XXX:XXXXX]
-A POSTROUTING -o eth1 -j SNAT --to-source 93.343.XXX.XXX
1). Правильно ли я понимаю: для того чтобы выпустить в интернет из локально сети только определееный IP адрес например "192.16.13.13"необходимо заменить строку:
-A FORWARD -i eth0 -j ACCEPT на -A FORWARD -s 192.16.13.13 -j ACCEPT
2). Чтобы пустить из интернета по ssh только один IP адрес например 192.168.7.7 нужно добавить строку:
-A INPUT -p TCP -s 192.168.7.7 --dport 22 -j ACCEPT
Заранее благодарен!
2). Чтобы пустить из интернета по ssh только один IP адрес например 192.168.7.7 нужно добавить строку:
-A INPUT -p TCP -s 192.168.7.7 --dport 22 -j ACCEPT
Заранее благодарен!
$IPTABLES -A tcp_packets -p TCP -s 13.13.13.13 --dport 20:23 -j allowed
1). Правильно ли я понимаю: для того чтобы выпустить в интернет из локально сети только определееный IP адрес например "192.16.13.13"необходимо заменить строку:
-A FORWARD -i eth0 -j ACCEPT на -A FORWARD -s 192.16.13.13 -j ACCEPT
$IPTABLES -A FORWARD -p ALL -i $LAN_IFACE -s 192.168.2.2 -d 0/0 -j ACCEPT
это относительно моего скрипта.
s0va, сам скрипт, а не сохраненные правила покажи.
s0va, сам скрипт, а не сохраненные правила покажи.
нет возможности.