LINUX.ORG.RU
ФорумAdmin

iptables где-то теряются пакеты... Помогите найти!

 , , спасти


1

1

Друзья! Есть сервер с ubuntu 14.04

root@gateway:~# ip r
default via 192.168.9.1 dev p2p1 
...
94.247.xx.xx/30 dev p3p2  proto kernel  scope link  src 94.247.xx.xx 
192.168.11.0/24 dev p1p1  proto kernel  scope link  src 192.168.11.1
...
root@gateway:~# iptables -vnL
Chain INPUT (policy ACCEPT 85 packets, 8632 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   20  5568 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            /* Разрешить входящий icmp трафик */
    0     0 ACCEPT     tcp  --  p3p2   *       0.0.0.0/0            0.0.0.0/0            multiport dports 80,443,8443 /* Разрешить входящий web трафик на интерфейсе Второй провайдер */
   27  2522 REJECT     all  --  p3p2   *       0.0.0.0/0            0.0.0.0/0            /* Запретить входящий трафик на интерфейсе Второй провайдер */ reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 25074 packets, 26M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 115 packets, 20283 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Вижу, что счётчики DNAT заполняются:

root@gateway:~# iptables -vnL -t nat
Chain PREROUTING (policy ACCEPT 63 packets, 6008 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    13    656 LOG        tcp  --  p3p2   *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4 prefix "videosrv:"
    6     304 DNAT       tcp  --  p3p2   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8443 to:192.168.11.127

Chain INPUT (policy ACCEPT 4 packets, 661 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 1 packets, 72 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 53 packets, 4783 bytes)
 pkts bytes target     prot opt in     out     source               destination  
root@gateway:~# ip a
...
2: p1p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 10:fe:ed:02:5b:29 brd ff:ff:ff:ff:ff:ff
    inet 192.168.11.1/24 brd 192.168.11.255 scope global p1p1
...
6: p3p2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 10:fe:ed:02:93:40 brd ff:ff:ff:ff:ff:ff
    inet 94.247.xx.xx/30 brd 94.247.xx.xx scope global p3p2
       valid_lft forever preferred_lft forever
    inet6 fe80::12fe:edff:fe02:9340/64 scope link 
       valid_lft forever preferred_lft forever
8: p2p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.9.2/24 brd 192.168.9.255 scope global p2p1
telnet 94.247.xx.xx 8443

В логах пакет вижу.

root@gateway:~# tailf /var/log/syslog|grep video
Jul 22 10:29:11 gateway kernel: [1359597.842376] videosrv:IN=p3p2 OUT= MAC=10:fe:ed:02:93:40:00:15:17:28:6a:81:08:00 SRC=194.88.xx.xx DST=94.247.xx.xx LEN=52 TOS=0x00 PREC=0x00 TTL=120 ID=3955 DF PROTO=TCP SPT=58214 DPT=8443 WINDOW=8192 RES=0x00 SYN URGP=0 
...

На выходе интерфейса локальной сети, ничего нету уже:


root@gateway:~# tcpdump -i p1p1 dst host 192.168.11.127 and port 8443
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on p1p1, link-type EN10MB (Ethernet), capture size 65535 bytes
^C
0 packets captured
3 packets received by filter
0 packets dropped by kernel

Что означает: 3 packets received by filter? При 0 packets captured.

Собственно, такое ощущение, что не выполняется DNAT, хотя счётчик то заполняется, и пакеты уходят куда-то в астрал...

★★★★★

Последнее исправление: DALDON (всего исправлений: 4)

Ответ на: комментарий от Deleted

Сорри, это кусочек от другого лога. Конечно-же в правильном логе DPT: 8443 , я случайно на ssh тыкнулся. Подскажите ещё пожалуйста, что потыкать?

DALDON ★★★★★
() автор топика
Ответ на: комментарий от NightSpamer

Да конечно. Сервер выполняет функции маршрутизатора.

root@gateway:~# cat /proc/sys/net/ipv4/ip_forward 
1
DALDON ★★★★★
() автор топика

Есть полезное средство для отладки iptables - "-j TRACE"

НО использовать его нужно очень аккуратно т.к. в логи пишется очень много.

tcpdump лучше запускать с ключиком "-n". Если резолвинг тормозит, то пакетов ты не увидишь.

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

tcpdump запускал как с n, так и без n. На сервере 192.168.11.127 тоже ловить пробовал - без результатно. Не знал, что может терять пакеты...

Сейчас посмотрю что есть TRACE.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от NightSpamer

Спасибо! Весьма ценное дополнение. Но видимо это не мой случай.

root@gateway:~# echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

Адекватно сделал? Не помогло. :(

DALDON ★★★★★
() автор топика
Ответ на: комментарий от vel

Сделал:

iptables -t raw -A PREROUTING -p tcp  -j TRACE

Нету нужных мне пакетов... Я не знаю чего делать уже...

Попробовать как-то подебажить таблицу filter...

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

ет. Для тестов пиши нули во все. Мне пришлось оставлять в sysctl.conf так:

# Enables source route verification
net.ipv4.conf.default.rp_filter = 0
# Enable reverse path
net.ipv4.conf.all.rp_filter = 0

NightSpamer
()
Ответ на: комментарий от NightSpamer

echo 0 > /proc/sys/net/ipv4/conf/pXpX/rp_filter

И пакеты сразу появились! Спасибищще!

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