Здравствуйте.есть 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
Это скорее всего появляеться когда вы "играете" с правилами и сбрасываете их используя скрипт
# rc.flush-iptables - Resets iptables to default values.
#
# Copyright (C) 2001 Oskar Andreasson
Этот скрипт не отключает форвардинг echo "1" > /proc/sys/net/ipv4/ip_forward
И пакеты проскакивают без ната
>Это скорее всего появляеться когда вы "играете" с правилами и сбрасываете их
>используя скрипт
># rc.flush-iptables - Resets iptables to default values.
>#
># Copyright (C) 2001 Oskar Andreasson
>Этот скрипт не отключает форвардинг echo "1" > /proc/sys/net/ipv4/ip_forward
>И пакеты проскакивают без натачто это за скрипт и где я его использую?
если можно, пожалуйста подробнее.
>>Это скорее всего появляеться когда вы "играете" с правилами и сбрасываете их
>>используя скрипт
>># 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. это запретит пересылку пакетов на время внесения правил
>попробуйте echo "1" > /proc/sys/net/ipv4/ip_forward перенести в самый конец ( и пустую строку в конце файла оставить не забудьте ), а на его месте echo "0" > /proc/sys/net/ipv4/ip_forward. это запретит пересылку пакетов на время внесения правилСтранно, но никаких изменений не произошло.
уже весь мозг себе взорвал.
>>попробуйте echo "1" > /proc/sys/net/ipv4/ip_forward перенести в самый конец ( и пустую строку в конце файла оставить не забудьте ), а на его месте echo "0" > /proc/sys/net/ipv4/ip_forward. это запретит пересылку пакетов на время внесения правил
>
>Странно, но никаких изменений не произошло.
>уже весь мозг себе взорвал.по времени в момент прохождения таких пакетов шлюз просто работал и никто ничего на нем не изменял, загружался или выключался?
локалка физически отделена шлюзом от сети провайдера?
iptables-save покажет текущие правила.
>по времени в момент прохождения таких пакетов шлюз просто работал и никто ничего на нем не изменял, загружался или выключался?в течении суток никого рядом не было.
>локалка физически отделена шлюзом от сети провайдера?
не понял вопрос.
interfaces:
# The loopback network interface
auto lo
iface lo inet loopback# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet dhcpauto 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 2009Wireshark:
interface eth01 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 и 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
>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 anywhereChain 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/24Chain 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 anywhereChain 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 anywhereChain 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 NEWChain icmp_packets (1 references)
target prot opt source destination
ACCEPT icmp -- anywhere anywhere icmp type 80
ACCEPT icmp -- anywhere anywhere icmp time-exceededChain 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:1494Chain 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:bootpc30001 и 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.странно что может работать сутки без проблем, а потом бац!!!
>[оверквотинг удален]
>
>в WIRESHARK указываю с eth0 фильтр - 192.168.0.2
>
>>а если использовать
>>$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
>
>ничего не изменилось, проблема таже.
>у меня IP статический. проще SNAT.
>
>странно что может работать сутки без проблем, а потом бац!!!интерфейс перед этим не опускался провайдером?
порт падает на пять минут только после того как коммутатор провайдера обнаружит левый IP
поптобовал 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
если, ещё актуально
что говорит:
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 поставте, свои)
Если решилась проблема, подскажите пожалуйста как - наблюдаю в нашей сети (и не только) то же самое. Раскопки по казали что подавляющее большинство - это 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
> Если решилась проблема, подскажите пожалуйста как - наблюдаю в нашей сети (и
> не только) то же самое. Раскопки по казали что подавляющее большинство
> - это 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~~
Вобщем похоже что решил проблему. Наткнулся на статью: 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 клиентов.
$IPTABLES -A FORWARD -s 192.168.0.2 -d 0/0 -j ACCEPT
правило радует просто. хоть интерфейс входящий к нему прицепи. src 192.168.0.2 в любом пакете сделать не проблема.ADD
у Вас весь форвард пакетов идет только на основании ИПов отравилеля и получателя, т.е. на основании содержимого пакета. пакет посылает неизвестно кто и запихать в него может что угодно. поставьте проверки интерфейсов в цепочку форварда.так же проверяйте с каких интерфейсов к вам какие адреса приходят (например с WAN-интерфейса серые адреса сразу рубить, пакеты с адресом отпрвавителя который принадлежит Вашему серверу - сразу рубить, итд).
> Здравствуйте.
> есть Debian 503. ядро - 2.6.26-2-686 в роли маршрутизатора, две сетевых карты.
> подсеть 192.168.0.0/24 Windows 7
> провайдер ТТК
> проблема: некоторые пакеты из локальной сети идут в обход NATна основании чего такой вывод сделан?