История изменений
Исправление KivApple, (текущая версия) :
Это правило никаких записей в логе не дало. Сделал более общее правило iptables -l FORWARD -p icmp -j LOG, получил:
[148723.011273] IN=tun0 OUT=eth0 MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=26904 DF PROTO=ICMP TYPE=8 CODE=0 ID=30728 SEQ=1
[148724.015297] IN=tun0 OUT=eth0 MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=26906 DF PROTO=ICMP TYPE=8 CODE=0 ID=30728 SEQ=2
[148725.008594] IN=tun0 OUT=eth0 MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=27046 DF PROTO=ICMP TYPE=8 CODE=0 ID=30728 SEQ=3
Сделал логгирование всех ICMP-пакетов в цепочках INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING и одиночный пинг теперь выглядит так:
[148998.173360] IN=tun0 OUT= MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=21242 DF PROTO=ICMP TYPE=8 CODE=0 ID=30863 SEQ=1
[148998.186198] IN=tun0 OUT=eth0 MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=21242 DF PROTO=ICMP TYPE=8 CODE=0 ID=30863 SEQ=1
[148998.199297] IN= OUT=eth0 SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=21242 DF PROTO=ICMP TYPE=8 CODE=0 ID=30863 SEQ=1
[149020.033685] IN= OUT=eth0 SRC=192.168.0.2 DST=8.8.8.8 LEN=196 TOS=0x00 PREC=0xC0 TTL=64 ID=3119 PROTO=ICMP TYPE=3 CODE=3 [SRC=8.8.8.8 DST=192.168.0.2 LEN=168 TOS=0x00 PREC=0x00 TTL=246 ID=50331 PROTO=UDP SPT=53 DPT=46424 LEN=148 ]
192.168.0.2 - адрес сервера в локальной сети (он подключен к интернету через роутер).
Получается, что при получении ответа на пинг сервер забирает его себе, а не перенаправляет дальше в tun0. При использовании NAT вроде же есть какая-то таблица, кому из клиентов за NAT надо послать входящий пакет, получается, что она работает как-то неправильно.
Исправление KivApple, :
Это правило никаких записей в логе не дало. Сделал более общее правило iptables -l FORWARD -p icmp -j LOG, получил:
[148723.011273] IN=tun0 OUT=eth0 MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=26904 DF PROTO=ICMP TYPE=8 CODE=0 ID=30728 SEQ=1
[148724.015297] IN=tun0 OUT=eth0 MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=26906 DF PROTO=ICMP TYPE=8 CODE=0 ID=30728 SEQ=2
[148725.008594] IN=tun0 OUT=eth0 MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=27046 DF PROTO=ICMP TYPE=8 CODE=0 ID=30728 SEQ=3
Сделал логгирование всех ICMP-пакетов в цепочках INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING и одиночный пинг теперь выглядит так:
[148998.173360] IN=tun0 OUT= MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=21242 DF PROTO=ICMP TYPE=8 CODE=0 ID=30863 SEQ=1
[148998.186198] IN=tun0 OUT=eth0 MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=21242 DF PROTO=ICMP TYPE=8 CODE=0 ID=30863 SEQ=1
[148998.199297] IN= OUT=eth0 SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=21242 DF PROTO=ICMP TYPE=8 CODE=0 ID=30863 SEQ=1
[149020.033685] IN= OUT=eth0 SRC=192.168.0.2 DST=8.8.8.8 LEN=196 TOS=0x00 PREC=0xC0 TTL=64 ID=3119 PROTO=ICMP TYPE=3 CODE=3 [SRC=8.8.8.8 DST=192.168.0.2 LEN=168 TOS=0x00 PREC=0x00 TTL=246 ID=50331 PROTO=UDP SPT=53 DPT=46424 LEN=148 ]
192.168.0.2 - адрес сервера в локальной сети (он подключен к интернету через роутер).
Исходная версия KivApple, :
Это правило никаких записей в логе не дало. Сделал более общее правило iptables -l FORWARD -p icmp -j LOG, получил:
[148723.011273] IN=tun0 OUT=eth0 MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=26904 DF PROTO=ICMP TYPE=8 CODE=0 ID=30728 SEQ=1
[148724.015297] IN=tun0 OUT=eth0 MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=26906 DF PROTO=ICMP TYPE=8 CODE=0 ID=30728 SEQ=2
[148725.008594] IN=tun0 OUT=eth0 MAC= SRC=10.8.0.2 DST=8.8.8.8 LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=27046 DF PROTO=ICMP TYPE=8 CODE=0 ID=30728 SEQ=3