У меня есть некоторые трудности с настройкой брандмауэра сервера ubuntu ... моя ситуация такова:
eth0 -> интернет
eth1 -> lan1
eth2 -> lan2
Я хочу, чтобы клиенты из lan1 не могли общаться с клиентами из lan2, за исключением некоторых конкретных сервисов. Например. Я хочу, чтобы клиенты в lan1 могли подключаться по ssh к клиенту в lan2, но только это. Любое другое общение запрещено.
Итак, я добавляю эти правила в iptables:
#Block all traffic between lan, but permit traffic to internet
iptables -I FORWARD -i eth1 -o ! eth0 -j DROP
iptables -I FORWARD -i eth2 -o ! eth0 -j DROP
# Accept ssh traffic from lan1 to client 192.168.20.2 in lan2
iptables -A FORWARD -i eth1 -o eth2 -p tcp --dport 22 -d 192.168.20.2 -j ACCEPT
Это не сработало. Выполнение iptables -L FORWARD -v я вижу:
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
33 144 DROP all -- eth1 !eth0 anywhere anywhere
0 0 DROP all -- eth2 !eth0 anywhere anywhere
23630 20M ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT all -- eth1 any anywhere anywhere
175 9957 ACCEPT all -- eth1 any anywhere anywhere
107 6420 ACCEPT all -- eth2 any anywhere anywhere
0 0 ACCEPT all -- pptp+ any anywhere anywhere
0 0 ACCEPT all -- tun+ any anywhere anywhere
0 0 ACCEPT tcp -- eth1 eth2 anywhere server2.lan tcp dpt:ssh
Все пакеты отбрасываются, и количество пакетов для последнего правила равно 0 ...
Как мне изменить мою конфигурацию? Спасибо.
С уважением, Марко
Ваши DROP-запросы находятся в начале цепочки (и будут обработаны в первую очередь). Вы хотите поместить DROP после правила, которое разрешает доступ по SSH для использования правила SSH.
Примерно так должно работать:
#Accept ssh traffic from lan1 to client 192.168.20.2 in lan2
iptables -A FORWARD -i eth1 -o eth2 -p tcp --dport 22 -d 192.168.20.2 -j ACCEPT
#Block all traffic between lan, but permit traffic to internet
iptables -A FORWARD -i eth1 -o ! eth0 -j DROP
iptables -A FORWARD -i eth2 -o ! eth0 -j DROP
(используйте -A, чтобы добавить эти правила в конец цепочки)