Вообщем, есть задача:
Блокировать все входящие НЕ российские соединения.У моего провыайдера есть документ, в котором обозначены те сети, которые для него являются российскими. Для этого я воспользовался скриптом (http://www.completewhois.com/bogons/), который генерирует цепочку bogons для iptables. Вопрос: как, собственно, прикрутить к этой цепочке мои правила (или наоборот)?
Вот кусок конфига (создавал при использовании этого дока http://www.opennet.me/docs/RUS/iptables/index.html):
#____Enable forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward#____Flush all
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING
iptables -t nat -F OUTPUT
iptables -t mangle -F PREROUTING
iptables -t mangle -F POSTROUTING
iptables -F#____Set default polices
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT#____Create bad packets chain
iptables -N bad_tcp_packets#____Create allow, bogons, TCP, UDP chains
iptables -N allow
iptables -N bogons
iptables -N tcp_packets
iptables -N udp_packets#____Bad packets filter (and LOG)
iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP#____Chain allow
iptables -A bogons -s $LAN_IP_NET -j ACCEPT
iptables -A allow -p ALL -j bogons
iptables -A allow -p TCP --syn -j ACCEPT
iptables -A allow -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A allow -p TCP -j DROP#____TCP rules
iptables -A tcp_packets -p TCP --dport 20 -j allow
iptables -A tcp_packets -p TCP --dport 21 -j allow
iptables -A tcp_packets -p TCP --dport 22 -j allow
iptables -A tcp_packets -p TCP --dport 80 -j allow#____UDP rules
iptables -A udp_packets -p UDP --destination-port 27015 -j allow
#____INPUT rules
iptables -A INPUT -p tcp -j bad_tcp_packets
iptables -A INPUT -p TCP -i $LAN_NIC -j tcp_packets
iptables -A INPUT -p UDP -i $LAN_NIC -j udp_packetsiptables -A INPUT -p ALL -d $WAN_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p TCP -i $WAN_NIC -j tcp_packets
iptables -A INPUT -p UDP -i $WAN_NIC -j udp_packetsПодскажите, пожалуйста, что я делаю не так?
>Вообщем, есть задача:
>Блокировать все входящие НЕ российские соединения.
>
>У моего провыайдера есть документ, в котором обозначены те сети, которые для
>него являются российскими. Для этого я воспользовался скриптом (http://www.completewhois.com/bogons/), который генерирует
>цепочку bogons для iptables. Вопрос: как, собственно, прикрутить к этой цепочке
>мои правила (или наоборот)?
>
>Вот кусок конфига (создавал при использовании этого дока http://www.opennet.me/docs/RUS/iptables/index.html):
>
>#____Enable forwarding
>echo "1" > /proc/sys/net/ipv4/ip_forward
>
>#____Flush all
>iptables -t nat -F POSTROUTING
>iptables -t nat -F PREROUTING
>iptables -t nat -F OUTPUT
>iptables -t mangle -F PREROUTING
>iptables -t mangle -F POSTROUTING
>iptables -F
>
>#____Set default polices
>iptables -P INPUT DROP
>iptables -P FORWARD DROP
>iptables -P OUTPUT ACCEPT
>
>#____Create bad packets chain
>iptables -N bad_tcp_packets
>
>#____Create allow, bogons, TCP, UDP chains
>iptables -N allow
>iptables -N bogons
>iptables -N tcp_packets
>iptables -N udp_packets
>
>#____Bad packets filter (and LOG)
>iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW
>-j REJECT --reject-with tcp-reset
>iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j
>LOG --log-prefix "New not syn:"
>iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j
>DROP
>
>#____Chain allow
>iptables -A bogons -s $LAN_IP_NET -j ACCEPT
>iptables -A allow -p ALL -j bogons
>iptables -A allow -p TCP --syn -j ACCEPT
>iptables -A allow -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
>iptables -A allow -p TCP -j DROP
>
>#____TCP rules
>iptables -A tcp_packets -p TCP --dport 20 -j allow
>iptables -A tcp_packets -p TCP --dport 21 -j allow
>iptables -A tcp_packets -p TCP --dport 22 -j allow
>iptables -A tcp_packets -p TCP --dport 80 -j allow
>
>#____UDP rules
>iptables -A udp_packets -p UDP --destination-port 27015 -j allow
>
>
>#____INPUT rules
>iptables -A INPUT -p tcp -j bad_tcp_packets
>iptables -A INPUT -p TCP -i $LAN_NIC -j tcp_packets
>iptables -A INPUT -p UDP -i $LAN_NIC -j udp_packets
>
>iptables -A INPUT -p ALL -d $WAN_IP -m state --state ESTABLISHED,RELATED -j
>ACCEPT
>iptables -A INPUT -p TCP -i $WAN_NIC -j tcp_packets
>iptables -A INPUT -p UDP -i $WAN_NIC -j udp_packets
>
>
>
>Подскажите, пожалуйста, что я делаю не так?
Всем мои извинения.
Разобрался я с этой штукой :)#____Chain allow
iptables -A bogons -s $LAN_IP_NET -j ACCEPT
iptables -A allow -p TCP --syn -j bogons
iptables -A allow -p TCP -m state --state ESTABLISHED,RELATED -j bogons
iptables -A allow -p TCP -j DROPвот и все что требовалось сделать.
P.S. Кстати, вот пример цепочки, кот. генерит скрипт
/sbin/iptables -F bogons
/sbin/iptables -X bogons
/sbin/iptables -N bogons
/sbin/iptables -P bogons REJECT
/sbin/iptables -A bogons -s 192.168.0.0/16 -j ACCEPT
/sbin/iptables -A bogons -s 62.102.128.0/17 -j ACCEPT
/sbin/iptables -A bogons -s 62.102.253.0/24 -j ACCEPT
/sbin/iptables -A bogons -s 62.102.254.0/24 -j ACCEPT
и т.д.