Приветствую. Есть железяка-роутер с урезанным линуксом. На ней поднят wireguard (интерфейс vpn0). Выход в сеть через wan0. Маскарадинг имеется для всех. Клиенты за роутером 192.168.8.0. Дефолтный 0.0.0.0/0 роут направлен в vpn0, кроме IP сервера, которые направлен в wan0. Также в правилах стоит дроп для форватинга в wan0, но это значения не имеет… не в нем дело. После поднятия интерфейса клиент WG подключается, руки жмут, все ок. При данной конфе iptables на ЛОКАЛЬНО на роутере «трафик ходит как нужно» без проблем и потери пакетов. Коротко о ПРОБЛЕМЕ с клиентами: если ответ содержит более пакета (т.е. приходят несколько пакетов с данными), то клиент за роутером получает только первый, далее отваливается по таймауту. Для примера если открыть страницу сайта очень малого размера (1 строка), то клиент вполне себе отлично его получает и отображает страницу. Как только страница сайта чуть больше одного пакета - получает только первый. Определено через tcpdump на локальной машине (нет возможности его запустить на роутере). Это же подтверждается тем, что http заголовки страницы он все же успешно получает. При этом самом роутере wget получает (vpn0) любого размера без проблем. Очевидно, что проблема с натом на роутере, либо с MTU клиента WG (1360). Пинги и другие мелкие пакеты гуляют без проблем. Некоторое уточнение: конфиг, сервер WG проверен на локальном компе - проблем нет, проблема явно не на стороне сервера. Есть другие конфиги, которые работают ровно при такой же конфе, на этом же роутере, но определить какой из них чем отличается, что этот работает, а этот нет - нет возможности.. примерно 50 на 50. Прикладываю iptables, может кто подскажет что можно подправить. Маршруты думаю смысла нет выкладывать. Спасибо!
[#] wg setconf vpn0 /dev/fd/63
[#] ip route add 80.246.XXX.XXX via 192.168.1.254
[#] ip -4 address add 10.14.0.2/16 dev vpn0
[#] ip link set mtu 1360 up dev vpn0
[#] ip route del default
[#] ip route add default dev vpn0
Chain INPUT (policy ACCEPT 1 packets, 165 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP tcp -- wan0 * 192.168.1.105 192.168.1.105
2343 122K ACCEPT tcp -- br0 * 192.168.8.0/24 192.168.8.1 tcpflags: 0x3F/0x02 limit: avg 303/sec burst 5
1 52 DROP tcp -- br0 * 192.168.8.0/24 192.168.8.1 tcpflags: 0x3F/0x02
2 580 ICMP_INPUT icmp -- * * 0.0.0.0/0 0.0.0.0/0
31500 7425K SERVICE_INPUT all -- * * 0.0.0.0/0 0.0.0.0/0
10034 1509K FIREWALL_INPUT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 57 packets, 3239 bytes)
pkts bytes target prot opt in out source destination
14303 7702K IPMASKFLT_FORWARD all -- * * 0.0.0.0/0 0.0.0.0/0
14303 7702K PORTMAP_FORWARD all -- * * 0.0.0.0/0 0.0.0.0/0
14303 7702K UPNP_FORWARD all -- * * 0.0.0.0/0 0.0.0.0/0
14303 7702K TRGER_FORWARD all -- * * 0.0.0.0/0 0.0.0.0/0
14303 7702K DMZ_FORWARD all -- * * 0.0.0.0/0 0.0.0.0/0
14303 7702K FIREWALL_FORWARD all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 985 packets, 289K bytes)
pkts bytes target prot opt in out source destination
Chain DMZ_FORWARD (1 references)
pkts bytes target prot opt in out source destination
Chain FIREWALL_FORWARD (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * wan0 0.0.0.0/0 0.0.0.0/0
12727 7584K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 DROP all -- wan0 * 0.0.0.0/0 0.0.0.0/0
Chain FIREWALL_INPUT (1 references)
pkts bytes target prot opt in out source destination
8758 1311K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
994 168K DROP all -- wan0 * 0.0.0.0/0 0.0.0.0/0
Chain ICMP_INPUT (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP icmp -- eth_voip * 0.0.0.0/0 0.0.0.0/0 icmptype 8
0 0 DROP icmp -- eth_tr069 * 0.0.0.0/0 0.0.0.0/0 icmptype 8
1 84 DROP icmp -- wan0 * 0.0.0.0/0 0.0.0.0/0 icmptype 8
0 0 ACCEPT icmp -- wan0 * 0.0.0.0/0 0.0.0.0/0 icmptype 8 limit: avg 4/sec burst 6
Chain IPMASKFLT_FORWARD (1 references)
pkts bytes target prot opt in out source destination
Chain PORTMAP_FORWARD (1 references)
pkts bytes target prot opt in out source destination
Chain SERVICE_INPUT (1 references)
pkts bytes target prot opt in out source destination
21466 5915K ACCEPT tcp -- br0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 REJECT tcp -- wan0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:113 reject-with tcp-reset
0 0 ACCEPT udp -- wan0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:5060
0 0 ACCEPT udp -- wan0 * 0.0.0.0/0 0.0.0.0/0 udp dpts:7070:7079
Chain TRGER_FORWARD (1 references)
pkts bytes target prot opt in out source destination
Chain UPNP_FORWARD (1 references)
pkts bytes target prot opt in out source destination
NAT
Chain PREROUTING (policy ACCEPT 397 packets, 35705 bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- br0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 to:162.252.172.57:53
14 955 DNAT udp -- br0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 to:162.252.172.57:53
0 0 DNAT icmp -- wan0 * 0.0.0.0/0 192.168.1.105 icmptype 8 to:192.168.1.105
4078 348K SIP_PREROUTING all -- * * 0.0.0.0/0 0.0.0.0/0
4078 348K PORTMAP_PREROUTING all -- * * 0.0.0.0/0 0.0.0.0/0
4078 348K UPNP_PREROUTING all -- * * 0.0.0.0/0 0.0.0.0/0
Chain INPUT (policy ACCEPT 142 packets, 7384 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 10 packets, 4463 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 17 packets, 5444 bytes)
pkts bytes target prot opt in out source destination
174 9294 MASQUERADE all -- * vpn0 0.0.0.0/0 0.0.0.0/0
145 7887 SNAT all -- * wan0 0.0.0.0/0 0.0.0.0/0 to:192.168.1.105
Chain PORTMAP_PREROUTING (1 references)
pkts bytes target prot opt in out source destination
Chain SIP_PREROUTING (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- wan0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:5060
0 0 ACCEPT udp -- wan0 * 0.0.0.0/0 0.0.0.0/0 udp dpts:7070:7079
0 0 REDIRECT udp -- br0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:5060 redir ports 5060
Chain UPNP_PREROUTING (1 references)
pkts bytes target prot opt in out source destination