Всем привет!
Подскажите пожалуйста, как правильно разграничить доступ в Интернет для ip-адресов и подсетей.
Получается три вида правил:
1. Запретить доступ для подсетей.
iptables -I FORWARD -s 192.168.0.0/24 -j DROP
2. Запретить доступ для ip-адресов.
iptables -I FORWARD -s 192.168.1.25 -j DROP
эти конструкции работают.
3. Разрешить доступ для ip-адреса, из запрещенной сети.
и вот тут затык.. отрицания не работают.. вообще насколько правильно решать такую задачу в цепочке FORWARD?
Есть вот такие правила:
root@proxyck:/etc/network/if-up.d# iptables-save
# Generated by iptables-save v1.4.21 on Fri Feb 24 00:37:32 2017
*mangle
:PREROUTING ACCEPT [3271656:2652017916]
:INPUT ACCEPT [1038092:1012974629]
:FORWARD ACCEPT [2233168:1638812056]
:OUTPUT ACCEPT [522821:50950372]
:POSTROUTING ACCEPT [2750066:1689396158]
COMMIT
# Completed on Fri Feb 24 00:37:32 2017
# Generated by iptables-save v1.4.21 on Fri Feb 24 00:37:32 2017
*nat
:PREROUTING ACCEPT [68988:4393720]
:INPUT ACCEPT [1519:113111]
:OUTPUT ACCEPT [38386:5284286]
:POSTROUTING ACCEPT [39334:5336873]
-A POSTROUTING -o eth1 -j SNAT --to-source ХХ.ХХ.ХХ.ХХ
COMMIT
# Completed on Fri Feb 24 00:37:32 2017
# Generated by iptables-save v1.4.21 on Fri Feb 24 00:37:32 2017
*filter
:INPUT DROP [3706:213301]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [90698:7677751]
:fail2ban-ssh - [0:0]
-A INPUT -p icmp -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp -m multiport --dports 22 -j ACCEPT
-A INPUT -i ppp+ -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -i eth1 -p gre -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 1723 -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -j DROP
-A FORWARD -s 192.168.1.25 -j DROP
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i eth0 -o ppp+ -j ACCEPT
-A FORWARD -i ppp+ -o eth0 -j ACCEPT
-A FORWARD -i ppp+ -o eth1 -j ACCEPT
-A FORWARD -i eth1 -o ppp+ -j ACCEPT
-A FORWARD -s 192.168.0.0/16 -i eth0 -j ACCEPT
-A FORWARD -m conntrack --ctstate INVALID -j DROP
COMMIT
# Completed on Fri Feb 24 00:37:32 2017