[devel] postrouting
Peter V. Saveliev
=?iso-8859-1?q?peet_=CE=C1_altlinux=2Eru?=
Вт Дек 28 22:12:18 MSK 2004
On Tuesday 28 December 2004 20:24, Антон wrote:
<skip />
> Такое невозможно. Я думаю ошибка в правилах iptables.
Дык а я про что!! Невозможно.
> Конфиги можно увидеть...
Да какие там конфиги, нет там ничего. Просто голяком запущен pppoe-server,
остальное см. ниже.
> Имеется ввиду цепочка POST...?
> Какой интерфейс указывается в качестве out?
Правил нет. Нет смысла, пакеты просто _не_светятся_ в таблице nat. Их там нет.
Вот всё, что могу показать:
~ # ps | grep ppp
690 root 408 S pppoe-server -I eth0
701 root 980 S pppd pty /usr/sbin/pppoe -n -I eth0 -e \
1:00:0c:29:16:56:7a -S '' file /etc/ppp/pppo
702 root 452 S sh -c /usr/sbin/pppoe -n -I eth0 -e \
1:00:0c:29:16:56:7a -S ''
704 root 380 S /usr/sbin/pppoe -n -I eth0 -e 1:00:0c:29:16:56:7a -S
~ # ip addr show
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/32 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:32:b3:98 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.250/24 scope global eth0
3: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 3
link/ppp
inet 10.0.0.1 peer 10.67.15.1/32 scope global ppp0
~ # ip route show
10.67.15.1 dev ppp0 proto kernel scope link src 10.0.0.1
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.250
default via 192.168.0.1 dev eth0
~ # cat /proc/sys/net/ipv4/ip_forward
1
~ # date
Wed Dec 29 01:03:09 MSK 2004
~ # iptables -L -n -v -t nat
Chain PREROUTING (policy ACCEPT 2 packets, 309 bytes)
<skip reason="там нет ничего" />
Chain POSTROUTING (policy ACCEPT 3 packets, 650 bytes)
<skip reason="там нет ничего" />
Chain OUTPUT (policy ACCEPT 2 packets, 590 bytes)
<skip reason="там нет ничего" />
~ # date
Wed Dec 29 01:03:38 MSK 2004
~ # iptables -L -n -v -t nat
Chain PREROUTING (policy ACCEPT 2 packets, 309 bytes)
<skip reason="там нет ничего" />
Chain POSTROUTING (policy ACCEPT 4 packets, 798 bytes)
<skip reason="там нет ничего" />
Chain OUTPUT (policy ACCEPT 3 packets, 738 bytes)
<skip reason="там нет ничего" />
В этот момент клиент пингует через образованный ppp наружный сервер, и на
гейте светится вот что:
~ # tcpdump -nnlpc 4 -i eth0 ip proto \\icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
01:04:22.204176 IP 10.67.15.1 > 217.170.64.5: icmp 40: echo request seq 21505
01:04:23.711508 IP 10.67.15.1 > 217.170.64.5: icmp 40: echo request seq 21761
01:04:25.188193 IP 10.67.15.1 > 217.170.64.5: icmp 40: echo request seq 22017
01:04:26.714518 IP 10.67.15.1 > 217.170.64.5: icmp 40: echo request seq 22273
4 packets captured
8 packets received by filter
0 packets dropped by kernel
То есть, nat просто пустая. 1 пакет, прошедший через POSTROUTING за 30 секунд,
явно не из тех пингов, которые раз в секунду идут с клиента, это внутренняя
активность сети (см. также таймстампы в tcpdump)
Да что я говорю, это легко воспроизводится. Поднять pppoe-server -- дело 5
минут, попробуйте сами. Вешаем его на единственный интерфейс, и получаем
именно такую картинку.
--
Peter V. Saveliev
Подробная информация о списке рассылки Devel