Добрый день. Пытался настроить Linux сервер в качестве роутера. И в какой-то момент понял, что в процессе обработки пакета он исчезает между прохождением таблицы filter FORWARD и mangle POSTROUTING.
Локальная сеть. Линукс сервер 192.168.2.4
. Router 192.168.2.254
. Клиент 192.168.2.50
. На клиенте в качестве default gateway ставится линукс сервер.
iptables:
iptables -t nat -I PREROUTING 1 -s 192.168.2.50/32 ! -d 192.168.2.0/24 -j LOG --log-prefix "android nat prerouting: "
iptables -t filter -I FORWARD 1 -s 192.168.2.50/32 ! -d 192.168.2.0/24 -j LOG --log-prefix "android filter forward: "
iptables -t filter -A FORWARD -s 192.168.2.50/32 ! -d 192.168.2.0/24 -j LOG --log-prefix "android filter forward2: "
iptables -t nat -I POSTROUTING 1 -s 192.168.2.50/32 ! -d iptables -t mangle -I POSTROUTING 1 -s 192.168.2.50/32 ! -d 192.168.2.0/24 -j LOG --log-prefix "android mangle postrouting: " <- в логах нет
192.168.2.0/24 -j LOG --log-prefix "android nat postrouting: " <- в логах нет
в логах dmesg вот такое:
nat prerouting: IN=enp1s0 OUT= MAC=18:...:00 SRC=192.168.2.50 DST=149.154.167.50 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=27116 DF PROTO=TCP SPT=39359 DPT=443 WINDOW=65535 RES=0x00 SYN URGP=0
filter forward: IN=enp1s0 OUT=enp1s0 MAC=18:...:00 SRC=192.168.2.50 DST=149.154.167.50 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=27116 DF PROTO=TCP SPT=39359 DPT=443 WINDOW=65535 RES=0x00 SYN URGP=0
filter forward2: IN=enp1s0 OUT=enp1s0 MAC=18:...:00 SRC=192.168.2.50 DST=149.154.167.50 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=27116 DF PROTO=TCP SPT=39359 DPT=443 WINDOW=65535 RES=0x00 SYN URGP=0
Таблица маршрутизации на сервере простая совсем
default via 192.168.2.254 dev enp1s0 proto static
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
192.168.2.0/24 dev enp1s0 proto kernel scope link src 192.168.2.4
# ip addr (частично, полный - ниже)
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 18:c0:4d:ba:79:e7 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.4/24 brd 192.168.2.255 scope global enp1s0
valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
Форвардинг пакетов в ядре вроде включен
net.ipv4.ip_forward = 1
Наверное в ядре какой-то важный параметр выключен или какой-то фильтр включен. Может кто сталкивался таким.
На всякий случай прилагаю