LINUX.ORG.RU
ФорумAdmin

Исключить один локальный IP из правила iptables

 


1

1

Подскажите с вопросом. Для всей сети установлен редирект 80-го порта на порт 82:

-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 82
Пробую исключить один ip-адрес, добавляю такое правило:
iptables -t nat -A PREROUTING -p tcp -s 192.168.4.20 --dport 80 -j ACCEPT

Но с этого ip все запросы продолжают редиректится на 82-й порт.

Вот полный список правил:

# Generated by iptables-save v1.3.5 on Wed Dec 18 12:32:23 2013
*nat
:PREROUTING ACCEPT [15554697:1315407495]
:POSTROUTING ACCEPT [4619401:326614583]
:OUTPUT ACCEPT [8726588:575556815]
-A PREROUTING -d 192.168.2.47 -p tcp -m tcp --dport 5000 -j DNAT --to-destination 192.168.4.230:3389 
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 82 
-A PREROUTING -i eth1 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 82 
-A PREROUTING -i eth1 -p tcp -m tcp --dport 3128 -j REDIRECT --to-ports 82 
-A POSTROUTING -s 192.168.4.0/255.255.255.0 -d 192.168.4.230 -p tcp -m tcp --dport 3389 -j SNAT --to-source 192.168.4.1 
-A POSTROUTING -o eth0 -j MASQUERADE 
COMMIT
# Completed on Wed Dec 18 12:32:23 2013
# Generated by iptables-save v1.3.5 on Wed Dec 18 12:32:23 2013
*mangle
:PREROUTING ACCEPT [1209102367:896492018415]
:INPUT ACCEPT [1049463888:853150834048]
:FORWARD ACCEPT [159500404:43333997116]
:OUTPUT ACCEPT [1148653505:946219156804]
:POSTROUTING ACCEPT [1308179306:989559680853]
COMMIT
# Completed on Wed Dec 18 12:32:23 2013
# Generated by iptables-save v1.3.5 on Wed Dec 18 12:32:23 2013
*filter
:INPUT DROP [378149:75871322]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:drop-lan - [0:0]
-A INPUT -s 192.168.1.12 -i eth0 -j ACCEPT 
-A INPUT -m state --state INVALID -j DROP 
-A INPUT -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset 
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP 
-A INPUT -s 127.0.0.0/255.0.0.0 -i eth0 -j DROP 
-A INPUT -s 169.254.0.0/255.255.0.0 -i eth0 -j DROP 
-A INPUT -i lo -j ACCEPT 
-A INPUT -i pptp+ -j ACCEPT 
-A INPUT -i tun+ -j ACCEPT 
-A INPUT -i eth1 -j ACCEPT 
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 0 -j ACCEPT 
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 3 -j ACCEPT 
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 11 -j ACCEPT 
-A INPUT -i eth0 -p udp -m udp --sport 67 --dport 68 -j ACCEPT 
-A INPUT -i eth0 -p tcp -m tcp --sport 67 --dport 68 -j ACCEPT 
-A INPUT -d 192.168.2.47 -p tcp -m tcp --dport 20 -j ACCEPT 
-A INPUT -d 192.168.2.47 -p tcp -m tcp --dport 21 -j ACCEPT 
-A INPUT -d 192.168.2.47 -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -d 192.168.2.47 -p tcp -m tcp --dport 143 -j ACCEPT 
-A INPUT -d 192.168.2.47 -p udp -m udp --dport 1194 -j ACCEPT 
-A INPUT -d 192.168.2.47 -p tcp -m tcp --dport 22 -j ACCEPT 
-A INPUT -d 192.168.2.47 -p tcp -m tcp --dport 81 -j ACCEPT 
-A INPUT -d 192.168.2.47 -p tcp -m tcp --dport 83 -j ACCEPT 
-A INPUT -d 192.168.2.47 -p tcp -m tcp --dport 25 -j ACCEPT 
-A INPUT -d 192.168.2.47 -p tcp -m tcp --dport 1922 -j ACCEPT 
-A INPUT -d 192.168.2.47 -p tcp -m tcp --dport 1875 -j ACCEPT 
-A INPUT -i eth0 -p udp -m udp --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -i eth0 -p tcp -m tcp --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -d 192.168.4.230 -o eth1 -p tcp -m tcp --dport 3389 -j ACCEPT 
-A FORWARD -s 192.168.4.0/255.255.255.0 -p tcp -m tcp --dport 1214 -j DROP 
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -i eth1 -j ACCEPT 
-A FORWARD -i pptp+ -j ACCEPT 
-A FORWARD -i tun+ -j ACCEPT 
-A OUTPUT -d 192.168.1.12 -o eth0 -j ACCEPT 
-A OUTPUT -o lo -j ACCEPT 
-A OUTPUT -o pptp+ -j ACCEPT 
-A OUTPUT -o tun+ -j ACCEPT 
-A OUTPUT -o eth1 -j ACCEPT 
-A OUTPUT -o eth0 -p icmp -j ACCEPT 
-A OUTPUT -o eth0 -p udp -m udp --sport 68 --dport 67 -j ACCEPT 
-A OUTPUT -o eth0 -p tcp -m tcp --sport 68 --dport 67 -j ACCEPT 
-A OUTPUT -s 192.168.2.47 -o eth0 -p tcp -m tcp --sport 20 -j ACCEPT 
-A OUTPUT -s 192.168.2.47 -o eth0 -p tcp -m tcp --sport 21 -j ACCEPT 
-A OUTPUT -s 192.168.2.47 -o eth0 -p tcp -m tcp --sport 80 -j ACCEPT 
-A OUTPUT -s 192.168.2.47 -o eth0 -p tcp -m tcp --sport 143 -j ACCEPT 
-A OUTPUT -s 192.168.2.47 -o eth0 -p udp -m udp --sport 1194 -j ACCEPT 
-A OUTPUT -s 192.168.2.47 -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT 
-A OUTPUT -s 192.168.2.47 -o eth0 -p tcp -m tcp --sport 81 -j ACCEPT 
-A OUTPUT -s 192.168.2.47 -o eth0 -p tcp -m tcp --sport 83 -j ACCEPT 
-A OUTPUT -s 192.168.2.47 -o eth0 -p tcp -m tcp --sport 25 -j ACCEPT 
-A OUTPUT -s 192.168.2.47 -o eth0 -p tcp -m tcp --sport 1922 -j ACCEPT 
-A OUTPUT -s 192.168.2.47 -o eth0 -p tcp -m tcp --sport 1875 -j ACCEPT 
-A OUTPUT -o eth0 -j ACCEPT 
-A drop-lan -j DROP 
COMMIT


Так ты правило в конец добавляешь, а надо перед редиректами
Вместо -A используй -I.

anon8
()

Правила применяются по порядку, так что менее общее(для одного ip) должно стоять перед более общим(для всех)

selivan ★★★
()
Ответ на: комментарий от winhex

Дык исключить его

-A PREROUTING -i eth1 -p tcp ! -s 192.168.4.20 --dport 80 -j REDIRECT --to-ports 82

vel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.