URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 4463
[ Назад ]

Исходное сообщение
"Пакеты из подсети в обход NAT"

Отправлено madi , 18-Дек-09 11:30 
Здравствуйте.

есть Debian 503. ядро - 2.6.26-2-686 в роли маршрутизатора, две сетевых карты.
подсеть 192.168.0.0/24 Windows 7
провайдер ТТК
проблема: некоторые пакеты из локальной сети идут в обход NAT
Прошу вас помочь решить данную проблему!

пример лога с комутатора провайдера:
Ethernet channel ETH 4 blocked, reason - wrong source IP (192.168.0.2 instead 94.251.38.193)

.......Firewall....

###########################################################################
#
# 1. Configuration options.
#

#
# 1.1 Internet Configuration.
#
INET_IP="94.251.38.193"
INET_IFACE="eth0"
#
# 1.1.1 DHCP
#
# 1.2 Local Area Network configuration.
#
# your LAN's IP range and localhost IP. /24 means to only use the first 24
# bits of the 32 bit IP adress. the same as netmask 255.255.255.0
#

LAN_IP="192.168.0.1"
LAN_IP_RANGE="192.168.0.0/24"
LAN_BCAST_ADRESS="192.168.0.255"
LAN_IFACE="eth1"

#
# 1.3 DMZ Configuration.
#
# 1.4 Localhost Configuration.
#
LO_IFACE="lo"
LO_IP="127.0.0.1"
#
# 1.5 IPTables Configuration.
#
IPTABLES="/sbin/iptables"
#
# 1.6 Other Configuration.
#
#2. Module loading.
#
# Needed to initially load modules
#
/sbin/depmod -a
#
# 2.1 Required modules
#
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ipt_TTL
#
# 2.2 Non-Required modules
#
/sbin/modprobe ip_conntrack_ftp
#
# 3. /proc set up.
#
# 3.1 Required proc configuration
#
echo "1" > /proc/sys/net/ipv4/ip_forward
#
# 4. rules set up.
# 4.1 Filter table
#
# 4.1.1 Set policies
#
$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#
# 4.1.2 Create userspecified chains
#
# Create chain for bad tcp packets
#
$IPTABLES -N bad_tcp_packets
#
# Create separate chains for ICMP, TCP and UDP to traverse
#
$IPTABLES -N allowed
$IPTABLES -N icmp_packets
$IPTABLES -N tcp_packets
$IPTABLES -N udpincoming_packets
#
# 4.1.3 Create content in userspecified chains
#
# bad_tcp_packets chain
#
$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
#
# allowed chain
#
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP
#
# TCP rules
#
#  80  HTTP
$IPTABLES -A tcp_packets -s 0/0 -p TCP --dport 80 -j allowed
#
#
# 22, 80, 25, 110
$IPTABLES -A tcp_packets -s $LAN_IP_RANGE -p TCP --dport 22 -j allowed
$IPTABLES -A tcp_packets -s $LAN_IP_RANGE -p TCP --dport 80 -j allowed
$IPTABLES -A tcp_packets -s $LAN_IP_RANGE -p TCP --dport 25 -j allowed
$IPTABLES -A tcp_packets -s $LAN_IP_RANGE -p TCP --dport 110 -j allowed
#
# MY HOME
#
$IPTABLES -A tcp_packets -p TCP -s 94.251.36.63 --dport 3389 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 94.251.36.63 --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 94.251.36.63 --dport 1494 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 194.150.155.214 --dport 3389 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 194.150.155.214 --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 194.150.155.214 --dport 1494 -j allowed
#
##p2p
#
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --destination-port 68 -j ACCEPT
$IPTABLES -A FORWARD -d $LAN_IP_RANGE -p udp --dport 30002 -j ACCEPT
$IPTABLES -A FORWARD -d $LAN_IP_RANGE -p tcp --dport 30001 -j ACCEPT
#
# ICMP rules
#
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 80 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
#
# 4.1.4 INPUT chain
#
# Bad TCP packets we don't want.
#
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
#
# Rules for special networks not part of the Internet
#
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BCAST_ADRESS -j ACCEPT
#
# Rules for incoming packets from the internet.
#
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
#
# Log weird packets that don't match the above.
#
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "
#
# 4.1.5 FORWARD chain
#
# Bad TCP packets we don't want
#
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets
#
# Accept the packets we actually want to forward
#
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#
#    DROP
#
#$IPTABLES -A FORWARD -s $LAN_IP_RANGE -d 89.250.252.0/16 -j DROP
#$IPTABLES -A FORWARD -s $LAN_IP_RANGE -d 78.24.9.0/16 -j DROP
#
#  INTERNET
#
# nat
$IPTABLES -A FORWARD -s 192.168.0.2 -d 0/0 -j ACCEPT

# INCOMMING CONNECTION
#
$IPTABLES -A FORWARD -s 94.251.36.63 -d $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A FORWARD -s 194.150.155.214 -d $LAN_IP_RANGE -j ACCEPT

# Log weird packets that don't match the above.
#
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "
#
# 4.1.6 OUTPUT chain

# Bad TCP packets we don't want.
#
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
#
# Special OUTPUT rules to decide which IP's to allow.
#
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
#
# Log weird packets that don't match the above.
#
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "
#
# 4.2 nat table

# REMOTE DESKTOP

# MY HOME
#
$IPTABLES -t nat -A PREROUTING -p tcp -s 94.251.36.63 --dport 3389 -j DNAT --to-destination 192.168.0.2:3389
$IPTABLES -t nat -A PREROUTING -p tcp -s 194.150.155.214 --dport 3389 -j DNAT --to-destination 192.168.0.2:3389
#
#P2P
#
$IPTABLES -t nat -A PREROUTING -p tcp -d 94.251.38.193 --dport 30001 -j DNAT --to-destination 192.168.0.2:30001
$IPTABLES -t nat -A PREROUTING -p udp -d 94.251.38.193 --dport 30002 -j DNAT --to-destination 192.168.0.2:30002


#
# 4.2.5 POSTROUTING chain
#


$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP


Содержание

Сообщения в этом обсуждении
"Пакеты из подсети в обход NAT"
Отправлено aaa , 18-Дек-09 12:28 
Это скорее всего появляеться когда вы "играете" с правилами и сбрасываете их используя скрипт
# rc.flush-iptables - Resets iptables to default values.
#
# Copyright (C) 2001  Oskar Andreasson
Этот скрипт не отключает форвардинг echo "1" > /proc/sys/net/ipv4/ip_forward
И пакеты проскакивают без ната

"Пакеты из подсети в обход NAT"
Отправлено madi , 18-Дек-09 15:46 
>Это скорее всего появляеться когда вы "играете" с правилами и сбрасываете их
>используя скрипт
># rc.flush-iptables - Resets iptables to default values.
>#
># Copyright (C) 2001  Oskar Andreasson
>Этот скрипт не отключает форвардинг echo "1" > /proc/sys/net/ipv4/ip_forward
>И пакеты проскакивают без ната

что это за скрипт и где я его использую?
если можно, пожалуйста подробнее.


"Пакеты из подсети в обход NAT"
Отправлено reader , 18-Дек-09 18:18 
>>Это скорее всего появляеться когда вы "играете" с правилами и сбрасываете их
>>используя скрипт
>># rc.flush-iptables - Resets iptables to default values.
>>#
>># Copyright (C) 2001  Oskar Andreasson
>>Этот скрипт не отключает форвардинг echo "1" > /proc/sys/net/ipv4/ip_forward
>>И пакеты проскакивают без ната
>
>что это за скрипт и где я его использую?
>если можно, пожалуйста подробнее.

то что показали после ....Firewall....
и есть часть скрипта, который и определяет правила iptables

попробуйте echo "1" > /proc/sys/net/ipv4/ip_forward перенести в самый конец ( и пустую строку в конце файла оставить не забудьте ), а на его месте echo "0" > /proc/sys/net/ipv4/ip_forward. это запретит пересылку пакетов на время внесения правил


"Пакеты из подсети в обход NAT"
Отправлено madi , 19-Дек-09 22:12 
>попробуйте echo "1" > /proc/sys/net/ipv4/ip_forward перенести в самый конец ( и пустую строку в конце файла оставить не забудьте ), а на его месте echo "0" > /proc/sys/net/ipv4/ip_forward. это запретит пересылку пакетов на время внесения правил

Странно, но никаких изменений не произошло.
уже весь мозг себе взорвал.


"Пакеты из подсети в обход NAT"
Отправлено reader , 20-Дек-09 10:22 
>>попробуйте echo "1" > /proc/sys/net/ipv4/ip_forward перенести в самый конец ( и пустую строку в конце файла оставить не забудьте ), а на его месте echo "0" > /proc/sys/net/ipv4/ip_forward. это запретит пересылку пакетов на время внесения правил
>
>Странно, но никаких изменений не произошло.
>уже весь мозг себе взорвал.

по времени в момент прохождения таких пакетов шлюз просто работал и никто ничего на нем не изменял, загружался или выключался?

локалка физически отделена шлюзом от сети провайдера?

iptables-save покажет текущие правила.


"Пакеты из подсети в обход NAT"
Отправлено madi , 20-Дек-09 14:03 
>по времени в момент прохождения таких пакетов шлюз просто работал и никто ничего на нем не изменял, загружался или выключался?

в течении суток никого рядом не было.

>локалка физически отделена шлюзом от сети провайдера?

не понял вопрос.

interfaces:
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
    address 192.168.0.1
    netmask 255.255.255.0
    dns-nameservers 192.168.0.1
    dns-search madiserv
    network 192.168.0.0
    broadcast 192.168.0.255

>iptables-save покажет текущие правила.

madiserv:~# iptables-save
# Generated by iptables-save v1.4.2 on Sun Dec 20 16:48:56 2009
*nat
:PREROUTING ACCEPT [730082:53559384]
:POSTROUTING ACCEPT [97:6982]
:OUTPUT ACCEPT [38949:2761262]
-A PREROUTING -s 94.251.36.63/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2:3389
-A PREROUTING -s 194.150.155.214/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2:3389
-A PREROUTING -d 94.251.37.177/32 -p tcp -m tcp --dport 30001 -j DNAT --to-destination 192.168.0.2:30001
-A PREROUTING -d 94.251.37.177/32 -p udp -m udp --dport 30002 -j DNAT --to-destination 192.168.0.2:30002
-A POSTROUTING -o eth0 -j SNAT --to-source 94.251.38.193
COMMIT
# Completed on Sun Dec 20 16:48:56 2009
# Generated by iptables-save v1.4.2 on Sun Dec 20 16:48:56 2009
*mangle
:PREROUTING ACCEPT [6975201:3908206386]
:INPUT ACCEPT [803491:204261411]
:FORWARD ACCEPT [6119195:3699727594]
:OUTPUT ACCEPT [183432:266576491]
:POSTROUTING ACCEPT [6302476:3966276994]
COMMIT
# Completed on Sun Dec 20 16:48:56 2009
# Generated by iptables-save v1.4.2 on Sun Dec 20 16:48:56 2009
*filter
:INPUT DROP [513896:33890665]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:allowed - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_packets - [0:0]
:udpincoming_packets - [0:0]
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT
-A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
-A INPUT -s 192.168.0.1/32 -i lo -j ACCEPT
-A INPUT -s 94.251.38.193/32 -i lo -j ACCEPT
-A INPUT -d 192.168.0.255/32 -i eth1 -j ACCEPT
-A INPUT -d 94.251.38.193/32 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -j tcp_packets
-A INPUT -i eth0 -p udp -j udpincoming_packets
-A INPUT -i eth0 -p icmp -j icmp_packets
-A FORWARD -d 192.168.0.0/24 -p udp -m udp --dport 30002 -j ACCEPT
-A FORWARD -d 192.168.0.0/24 -p tcp -m tcp --dport 30001 -j ACCEPT
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.0.2/32 -j ACCEPT
-A FORWARD -s 94.251.36.63/32 -d 192.168.0.0/24 -j ACCEPT
-A FORWARD -s 194.150.155.214/32 -d 192.168.0.0/24 -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/32 -j ACCEPT
-A OUTPUT -s 192.168.0.1/32 -j ACCEPT
-A OUTPUT -s 94.251.38.193/32 -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 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 80 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A tcp_packets -p tcp -m tcp --dport 80 -j allowed
-A tcp_packets -s 192.168.0.0/24 -p tcp -m tcp --dport 22 -j allowed
-A tcp_packets -s 192.168.0.0/24 -p tcp -m tcp --dport 80 -j allowed
-A tcp_packets -s 192.168.0.0/24 -p tcp -m tcp --dport 25 -j allowed
-A tcp_packets -s 192.168.0.0/24 -p tcp -m tcp --dport 110 -j allowed
-A tcp_packets -s 94.251.36.63/32 -p tcp -m tcp --dport 3389 -j allowed
-A tcp_packets -s 94.251.36.63/32 -p tcp -m tcp --dport 22 -j allowed
-A tcp_packets -s 94.251.36.63/32 -p tcp -m tcp --dport 1494 -j allowed
-A tcp_packets -s 194.150.155.214/32 -p tcp -m tcp --dport 3389 -j allowed
-A tcp_packets -s 194.150.155.214/32 -p tcp -m tcp --dport 22 -j allowed
-A tcp_packets -s 194.150.155.214/32 -p tcp -m tcp --dport 1494 -j allowed
-A udpincoming_packets -p udp -m udp --dport 68 -j ACCEPT
COMMIT
# Completed on Sun Dec 20 16:48:56 2009

Wireshark:
interface eth0

1    0.000000    192.168.0.2    59.93.71.141    TCP    53847 > ipdtp-port [FIN, ACK] Seq=1 Ack=1 Win=16437 Len=0
2    43.735387    192.168.0.2    59.93.71.141    TCP    53847 > ipdtp-port [RST, ACK] Seq=2 Ack=1 Win=0 Len=0
3    120.145798    192.168.0.2    78.90.193.239    TCP    53768 > 44193 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
4    120.254799    192.168.0.2    188.18.81.53    TCP    54322 > 39542 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
5    340.140492    192.168.0.2    94.178.10.251    TCP    54747 > 54981 [FIN, ACK] Seq=1 Ack=1 Win=65340 Len=0
6    400.142977    192.168.0.2    94.178.10.251    TCP    54747 > 54981 [FIN, ACK] Seq=1 Ack=1 Win=65340 Len=0
7    460.139428    192.168.0.2    94.178.10.251    TCP    54747 > 54981 [FIN, ACK] Seq=1 Ack=1 Win=65340 Len=0
8    495.468445    192.168.0.2    77.239.234.218    TCP    54226 > 6880 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
9    520.136873    192.168.0.2    94.178.10.251    TCP    54747 > 54981 [RST, ACK] Seq=2 Ack=1 Win=0 Len=0
10    757.789519    192.168.0.2    95.211.101.145    TCP    54968 > http [RST, ACK] Seq=1 Ack=1 Win=0 Len=0



"Пакеты из подсети в обход NAT"
Отправлено reader , 20-Дек-09 18:57 
>>по времени в момент прохождения таких пакетов шлюз просто работал и никто ничего на нем не изменял, загружался или выключался?
>
>в течении суток никого рядом не было.
>
>>локалка физически отделена шлюзом от сети провайдера?
>
>не понял вопрос.

eth0 и eth1 в один свичь воткнуты?
есть ли другие шлюзы?
покажите таблицу маршрутизации с 192.168.0.2
  
о>
>[оверквотинг удален]
>1    0.000000    192.168.0.2    59.93.71.141    TCP    53847 > ipdtp-port [FIN, ACK] Seq=1 Ack=1 Win=16437 Len=0
>2    43.735387    192.168.0.2    59.93.71.141    TCP    53847 > ipdtp-port [RST, ACK] Seq=2 Ack=1 Win=0 Len=0
>3    120.145798    192.168.0.2    78.90.193.239    TCP    53768 > 44193 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
>4    120.254799    192.168.0.2    188.18.81.53    TCP    54322 > 39542 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
>5    340.140492    192.168.0.2    94.178.10.251    TCP    54747 > 54981 [FIN, ACK] Seq=1 Ack=1 Win=65340 Len=0
>6    400.142977    192.168.0.2    94.178.10.251    TCP    54747 > 54981 [FIN, ACK] Seq=1 Ack=1 Win=65340 Len=0
>7    460.139428    192.168.0.2    94.178.10.251    TCP    54747 > 54981 [FIN, ACK] Seq=1 Ack=1 Win=65340 Len=0
>8    495.468445    192.168.0.2    77.239.234.218    TCP    54226 > 6880 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
>9    520.136873    192.168.0.2    94.178.10.251    TCP    54747 > 54981 [RST, ACK] Seq=2 Ack=1 Win=0 Len=0
>10    757.789519    192.168.0.2    95.211.101.145    TCP    54968 > http [RST, ACK] Seq=1 Ack=1 Win=0 Len=0

это точно с eth0?
а если использовать
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE

модуль ipt_MASQUERADE


"Пакеты из подсети в обход NAT"
Отправлено madi , 22-Дек-09 14:24 
>eth0 и eth1 в один свичь воткнуты?

маршрутизатором является отдельный комп, в нем есть две сетевых карты к одной интернет к другой локальная. локалка обратным свитчем.

>покажите таблицу маршрутизации с 192.168.0.2

как отдельно показать не знаю

madiserv:~# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
bad_tcp_packets  tcp  --  anywhere             anywhere
DROP       tcp  --  192.168.0.0/24       anywhere
ACCEPT     all  --  192.168.0.0/24       anywhere
ACCEPT     all  --  localhost            anywhere
ACCEPT     all  --  madiserv.local       anywhere
ACCEPT     all  --  host-94-251-38-193.bbcustomer.zsttk.net  anywhere
ACCEPT     all  --  anywhere             192.168.0.255
ACCEPT     all  --  anywhere             host-94-251-38-193.bbcustomer.zsttk.net state RELATED,ESTABLISHED
tcp_packets  tcp  --  anywhere             anywhere
udpincoming_packets  udp  --  anywhere             anywhere
icmp_packets  icmp --  anywhere             anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             192.168.0.0/24      udp dpt:30002
ACCEPT     tcp  --  anywhere             192.168.0.0/24      tcp dpt:30001
bad_tcp_packets  tcp  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     all  --  madi1                anywhere
ACCEPT     all  --  host-94-251-36-63.bbcustomer.zsttk.net  192.168.0.0/24
ACCEPT     all  --  194-150-155-214.xdsl.ab.ru  192.168.0.0/24

Chain OUTPUT (policy DROP)
target     prot opt source               destination
bad_tcp_packets  tcp  --  anywhere             anywhere
ACCEPT     all  --  localhost            anywhere
ACCEPT     all  --  madiserv.local       anywhere
ACCEPT     all  --  host-94-251-38-193.bbcustomer.zsttk.net  anywhere

Chain allowed (14 references)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN
ACCEPT     tcp  --  anywhere             anywhere            state RELATED,ESTABLISHED
DROP       tcp  --  anywhere             anywhere

Chain bad_tcp_packets (3 references)
target     prot opt source               destination
LOG        tcp  --  anywhere             anywhere            tcp flags:!FIN,SYN,RST,ACK/SYN state NEW LOG level war
DROP       tcp  --  anywhere             anywhere            tcp flags:!FIN,SYN,RST,ACK/SYN state NEW

Chain icmp_packets (1 references)
target     prot opt source               destination
ACCEPT     icmp --  anywhere             anywhere            icmp type 80
ACCEPT     icmp --  anywhere             anywhere            icmp time-exceeded

Chain tcp_packets (1 references)
target     prot opt source               destination
allowed    tcp  --  anywhere             anywhere            tcp dpt:28960
allowed    tcp  --  anywhere             anywhere            tcp dpt:28961
allowed    tcp  --  anywhere             anywhere            tcp dpt:28962
allowed    tcp  --  anywhere             anywhere            tcp dpt:www
allowed    tcp  --  192.168.0.0/24       anywhere            tcp dpt:ssh
allowed    tcp  --  192.168.0.0/24       anywhere            tcp dpt:www
allowed    tcp  --  192.168.0.0/24       anywhere            tcp dpt:smtp
allowed    tcp  --  192.168.0.0/24       anywhere            tcp dpt:pop3
allowed    tcp  --  host-94-251-36-63.bbcustomer.zsttk.net  anywhere            tcp dpt:3389
allowed    tcp  --  host-94-251-36-63.bbcustomer.zsttk.net  anywhere            tcp dpt:ssh
allowed    tcp  --  host-94-251-36-63.bbcustomer.zsttk.net  anywhere            tcp dpt:1494
allowed    tcp  --  194-150-155-214.xdsl.ab.ru  anywhere            tcp dpt:3389
allowed    tcp  --  194-150-155-214.xdsl.ab.ru  anywhere            tcp dpt:ssh
allowed    tcp  --  194-150-155-214.xdsl.ab.ru  anywhere            tcp dpt:1494

Chain udpincoming_packets (1 references)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere            udp dpt:28960
ACCEPT     udp  --  anywhere             anywhere            udp dpt:28961
ACCEPT     udp  --  anywhere             anywhere            udp dpt:28962
ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootpc

30001 и 30002  Flaylink
28960.28961.28962 сервер СОD4

>это точно с eth0?

в WIRESHARK указываю с eth0 фильтр - 192.168.0.2

>а если использовать
>$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE

ничего не изменилось, проблема таже.
у меня IP статический. проще SNAT.

странно что может работать сутки без проблем, а потом бац!!!


"Пакеты из подсети в обход NAT"
Отправлено reader , 22-Дек-09 21:31 
>[оверквотинг удален]
>
>в WIRESHARK указываю с eth0 фильтр - 192.168.0.2
>
>>а если использовать
>>$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
>
>ничего не изменилось, проблема таже.
>у меня IP статический. проще SNAT.
>
>странно что может работать сутки без проблем, а потом бац!!!

интерфейс перед этим не опускался провайдером?


"Пакеты из подсети в обход NAT"
Отправлено madi , 22-Дек-09 23:14 
порт падает на пять минут только после того как коммутатор провайдера обнаружит левый IP

"Пакеты из подсети в обход NAT"
Отправлено madi , 23-Дек-09 15:43 
поптобовал arno-iptables-firewall результат одинаковый.
последние строчки tcpdump
18:23:28.936418 IP host-94-251-38-63.bbcustomer.zsttk.net.netbios-ns > 94.251.38.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
18:23:29.050670 IP host-94-251-38-75.bbcustomer.zsttk.net.netbios-dgm > 94.251.38.255.netbios-dgm: NBT UDP PACKET(138)
18:23:29.054998 IP host-94-251-38-97.bbcustomer.zsttk.net.netbios-ns > 94.251.38.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
18:23:29.206313 IP6 fe80::d5f7:5f1e:812f:8e60.59592 > ff02::c.1900: UDP, length 146
18:23:29.215413 IP host-94-251-38-74.bbcustomer.zsttk.net.mdns > 224.0.0.251.mdns: 0[|domain]
18:23:29.216386 IP host-94-251-38-74.bbcustomer.zsttk.net.mdns > 224.0.0.251.mdns: 0*- [0q] 3/0/0[|domain]
18:23:29.583402 arp who-has host-94-251-38-85.bbcustomer.zsttk.net tell host-94-251-38-85.bbcustomer.zsttk.net
18:23:29.605613 IP madi1.52728 > atoll.cis.rv.ua.www: F 0:0(0) ack 1 win 62858



"Пакеты из подсети в обход NAT"
Отправлено KMax , 11-Янв-10 06:32 
если, ещё актуально
что говорит:
sysctl -a|grep conntrack_max
sysctl -a|grep conntrack_count

в момент когда проскакивают фейки что показывает
tcpdump -ni ProvEth net 192.168.0.0/24
(ProvEth и 192.168.0.0/24 поставте, свои)


"Пакеты из подсети в обход NAT"
Отправлено gas , 13-Апр-11 19:15 
Если решилась проблема, подскажите пожалуйста как - наблюдаю в нашей сети (и не только) то же самое. Раскопки по казали что подавляющее большинство - это ack пакеты от клиентов и вылазит только tcp:

17:42:42.630424 IP 10.250.201.3.48913 > 188.168.5.180.37996: Flags [F.], seq 4293866651, ack 3964839509, win 17280, length 0
17:42:42.793607 IP 10.245.2.166.1474 > 195.211.101.131.80: Flags [F.], seq 3807556108, ack 2863131535, win 64240, length 0
17:42:42.794386 IP 10.245.2.166.1477 > 195.211.101.131.80: Flags [F.], seq 244781643, ack 2864206967, win 64240, length 0
17:42:42.795111 IP 10.245.2.166.1476 > 195.211.101.131.80: Flags [F.], seq 2670314452, ack 2852297187, win 64240, length 0
17:42:43.119552 IP 10.245.2.71.63288 > 74.125.230.153.80: Flags [F.], seq 1019412857, ack 805281035, win 64350, length 0
17:42:43.369557 IP 10.252.6.9.61787 > 82.112.101.235.80: Flags [F.], seq 993680131, ack 2552692069, win 64181, length 0
17:42:43.621153 IP 10.245.2.71.63288 > 74.125.230.153.80: Flags [F.], seq 0, ack 1, win 64350, length 0
17:42:44.000830 IP 10.245.2.166.1482 > 195.211.101.131.80: Flags [F.], seq 482969609, ack 2858700975, win 64240, length 0


"Пакеты из подсети в обход NAT"
Отправлено Andrey Mitrofanov , 13-Апр-11 20:47 
> Если решилась проблема, подскажите пожалуйста как - наблюдаю в нашей сети (и
> не только) то же самое. Раскопки по казали что подавляющее большинство
> - это ack пакеты от клиентов и вылазит только tcp:

У меня что-то подобное вылазило, но с большинством с "fin,syn" или типа того.

_Предполагаю_, что при медленных каналах или клиентах, (?или разрывах связи ?или серверах), соединения выносятся из таблиц conntrack по тайауту, после чего следующий пришедщий в этом соединении пакет уже не попадает в "ESTABLISHED", соединение клиента рвётся, в логе появляется "необычное"...

Крутил в районе sysctl.conf и -

# find /proc/sys/net \! -type d -path "*ipv4*conn*timeout*"|xargs grep .
/proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout:600
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_sent:120
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_sent2:120
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_recv:60
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established:432000
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait:120
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait:60
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_last_ack:30
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait:120
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close:10
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_max_retrans:300
/proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout:30
/proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout_stream:180
/proc/sys/net/ipv4/netfilter/ip_conntrack_icmp_timeout:30
# _

, увеличивал те, что <300 до 300 или 360. Логи "похудели", "тех" сообщений стало в десятки-сотни раз меньше. YMMV~~


"Пакеты из подсети в обход NAT"
Отправлено gas , 15-Апр-11 11:34 
Вобщем похоже что решил проблему. Наткнулся на статью: http://www.smythies.com/~doug/network/iptables_notes/index.html - как раз моя ситуация. Помогло добавление:
$IPTABLES -A FORWARD -i $INTIF -p tcp -m state --state INVALID -j DROP
Каналы уже не такие уж и медленные. На сервере значительный запас по производительности. Может быть действительно из-за разрывов или из-за неправильной работы tcp стэка у клиента. Думаю что увеличивать таймауты тоже не очень хорошо, особенно когда за натом >1000 клиентов.

"Пакеты из подсети в обход NAT"
Отправлено LSTemp , 20-Апр-11 23:50 
$IPTABLES -A FORWARD -s 192.168.0.2 -d 0/0 -j ACCEPT
правило радует просто. хоть интерфейс входящий к нему прицепи. src 192.168.0.2 в любом пакете сделать не проблема.

ADD
у Вас весь форвард пакетов идет только на основании ИПов отравилеля и получателя, т.е. на основании содержимого пакета. пакет посылает неизвестно кто и запихать в него может что угодно. поставьте проверки интерфейсов в цепочку форварда.

так же проверяйте с каких интерфейсов к вам какие адреса приходят (например с WAN-интерфейса серые адреса сразу рубить, пакеты с адресом отпрвавителя который принадлежит Вашему серверу - сразу рубить, итд).


"Пакеты из подсети в обход NAT"
Отправлено LSTemp , 21-Апр-11 00:04 
> Здравствуйте.
> есть Debian 503. ядро - 2.6.26-2-686 в роли маршрутизатора, две сетевых карты.
> подсеть 192.168.0.0/24 Windows 7
> провайдер ТТК
> проблема: некоторые пакеты из локальной сети идут в обход NAT

на основании чего такой вывод сделан?