У меня есть Linux Box, работающий как маршрутизатор, с двумя интерфейсами.
· eth0 - 192.168.0.61
· as0t0 - 172.27.224.1
Сеть 192.168.2.0/24 доступна через as0t0, поэтому у меня такие маршруты:
[[email protected] ~]# маршрут
Таблица IP-маршрутизации ядра
Шлюз назначения Флаги Генмаски Метрика Ссылка Использование Iface
шлюз по умолчанию 0.0.0.0 UG 100 0 0 eth0
172.27.224.0 0.0.0.0 255.255.240.0 U 0 0 0 as0t0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 as0t0
У меня также есть правило переадресации портов:
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8123 -j DNAT --назначение 192.168.2.245:8123
В настоящее время хост 192.168.0.0/24 может отлично использовать веб-сервер по адресу 192.168.2.245:8123, он не работает с хоста WAN.Основной роутер 192.168.0.251 с маршрутами и переадресацией портов.
Пакеты доходят до 192.168.0.61 eth0, но через as0t0 не проходят, не знаю почему.
Например, когда хост 192.168.0.6 использует веб-браузер для 192.168.0.61:8123, все работает отлично.
[[email protected] ~]# tcpdump -i порт eth0 8123 -n
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на eth0, тип канала EN10MB (Ethernet), размер захвата 262144 байт
16:47:22.232044 IP 192.168.0.6.58898 > 192.168.0.61.8123: флаги [SEW], seq 361471277, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:47:22.305155 IP 192.168.0.61.8123 > 192.168.0.6.58898: флаги [S.], seq 226116772, ack 361471278, win 64240, параметры [mss 1258,nop,nop,sackOK,nop,wscale 7], длина 0
16:47:22.305722 IP 192.168.0.6.58898 > 192.168.0.61.8123: Флаги [.], подтверждение 1, выигрыш 1027, длина 0
16:47:22.305868 IP 192.168.0.6.58898 > 192.168.0.61.8123: Флаги [P.], последовательность 1:601, подтверждение 1, выигрыш 1027, длина 600
16:47:22.446997 IP 192.168.0.61.8123 > 192.168.0.6.58898: Флаги [.], подтверждение 601, выигрыш 501, длина 0
16:47:22.447020 IP 192.168.0.61.8123 > 192.168.0.6.58898: флаги [P.], seq 1:170, ack 601, win 501, длина 169
16:47:22.447035 IP 192.168.0.61.8123 > 192.168.0.6.58898: флаги [P.], seq 170:230, ack 601, win 501, длина 60
16:47:22.447484 IP 192.168.0.6.58898 > 192.168.0.61.8123: Флаги [.], подтверждение 230, выигрыш 1026, длина 0
16:47:22.537873 IP 192.168.0.6.58898 > 192.168.0.61.8123: флаги [P.], seq 601:1431, ack 230, win 1026, длина 830
16:47:22.646742 IP 192.168.0.61.8123 > 192.168.0.6.58898: Флаги [.], подтверждение 1431, выигрыш 501, длина 0
16:47:22.646762 IP 192.168.0.61.8123 > 192.168.0.6.58898: флаги [P.], seq 230:400, ack 1431, win 501, длина 170
16:47:22.646777 IP 192.168.0.61.8123 > 192.168.0.6.58898: флаги [P.], seq 400:570, ack 1431, win 501, длина 170
16:47:22.647193 IP 192.168.0.6.58898 > 192.168.0.61.8123: Флаги [.], подтверждение 570, выигрыш 1024, длина 0
...
[[email protected] ~]# tcpdump -i as0t0 порт 8123 -n
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на as0t0, RAW типа link (Raw IP), размер захвата 262144 байт
16:47:22.232111 IP 192.168.0.6.58898 > 192.168.2.245.8123: флаги [SEW], seq 361471277, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:47:22.305136 IP 192.168.2.245.8123 > 192.168.0.6.58898: Флаги [S.], seq 226116772, ack 361471278, win 64240, параметры [mss 1258,nop,nop,sackOK,nop,wscale 7], длина 0
16:47:22.305863 IP 192.168.0.6.58898 > 192.168.2.245.8123: флаги [.], подтверждение 1, выигрыш 1027, длина 0
16:47:22.305872 IP 192.168.0.6.58898 > 192.168.2.245.8123: флаги [P.], seq 1:601, ack 1, win 1027, длина 600
16:47:22.446980 IP 192.168.2.245.8123 > 192.168.0.6.58898: Флаги [.], подтверждение 601, выигрыш 501, длина 0
16:47:22.447013 IP 192.168.2.245.8123 > 192.168.0.6.58898: Флаги [P.], последовательность 1:170, подтверждение 601, выигрыш 501, длина 169
16:47:22.447030 IP 192.168.2.245.8123 > 192.168.0.6.58898: флаги [P.], seq 170:230, ack 601, win 501, длина 60
16:47:22.447495 IP 192.168.0.6.58898 > 192.168.2.245.8123: Флаги [.], подтверждение 230, выигрыш 1026, длина 0
16:47:22.537892 IP 192.168.0.6.58898 > 192.168.2.245.8123: флаги [P.], seq 601:1431, ack 230, win 1026, длина 830
16:47:22.646728 IP 192.168.2.245.8123 > 192.168.0.6.58898: Флаги [.], подтверждение 1431, выигрыш 501, длина 0
16:47:22.646755 IP 192.168.2.245.8123 > 192.168.0.6.58898: флаги [P.], seq 230:400, ack 1431, win 501, длина 170
16:47:22.646771 IP 192.168.2.245.8123 > 192.168.0.6.58898: флаги [P.], seq 400:570, ack 1431, win 501, длина 170
16:47:22.647207 IP 192.168.0.6.58898 > 192.168.2.245.8123: Флаги [.], подтверждение 570, выигрыш 1024, длина 0
[email protected]:~ $ sudo tcpdump -i tun0 порт 8123 -n
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на tun0, тип ссылки RAW (Raw IP), размер захвата 262144 байт
16:47:22.283238 IP 192.168.0.6.58898 > 192.168.2.245.8123: флаги [SEW], seq 361471277, win 64240, параметры [mss 1258,nop,wscale 8,nop,nop,sackOK], длина 0
16:47:22.283327 IP 192.168.2.245.8123 > 192.168.0.6.58898: флаги [S.], seq 226116772, ack 361471278, win 64240, параметры [mss 1460,nop,nop,sackOK,nop,wscale 7], длина 0
16:47:22.375692 IP 192.168.0.6.58898 > 192.168.2.245.8123: Флаги [.], подтверждение 1, выигрыш 1027, длина 0
16:47:22.375946 IP 192.168.0.6.58898 > 192.168.2.245.8123: Флаги [P.], seq 1:601, ack 1, win 1027, длина 600
16:47:22.375988 IP 192.168.2.245.8123 > 192.168.0.6.58898: Флаги [.], подтверждение 601, выигрыш 501, длина 0
16:47:22.383365 IP 192.168.2.245.8123 > 192.168.0.6.58898: Флаги [P.], последовательность 1:170, подтверждение 601, выигрыш 501, длина 169
16:47:22.383586 IP 192.168.2.245.8123 > 192.168.0.6.58898: флаги [P.], seq 170:230, ack 601, win 501, длина 60
16:47:22.494391 IP 192.168.0.6.58898 > 192.168.2.245.8123: Флаги [.], подтверждение 230, выигрыш 1026, длина 0
16:47:22.585272 IP 192.168.0.6.58898 > 192.168.2.245.8123: флаги [P.], seq 601:1431, ack 230, win 1026, длина 830
16:47:22.585325 IP 192.168.2.245.8123 > 192.168.0.6.58898: Флаги [.], подтверждение 1431, выигрыш 501, длина 0
16:47:22.593274 IP 192.168.2.245.8123 > 192.168.0.6.58898: флаги [P.], seq 230:400, ack 1431, win 501, длина 170
16:47:22.594160 IP 192.168.2.245.8123 > 192.168.0.6.58898: флаги [P.], seq 400:570, ack 1431, win 501, длина 170
16:47:22.693687 IP 192.168.0.6.58898 > 192.168.2.245.8123: Флаги [.], подтверждение 570, выигрыш 1024, длина 0
Однако, когда запрос поступает из Интернета, 192.168.0.61 получает запрос, но не пересылается через as0t0. Например:
[[email protected] ~]# tcpdump -i порт eth0 8123 -n
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на eth0, тип канала EN10MB (Ethernet), размер захвата 262144 байт
16:51:55.079366 IP 185.157.131.172.54673 > 192.168.0.61.8123: флаги [S], seq 331949659, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:51:55.759341 IP 185.157.131.172.54674 > 192.168.0.61.8123: флаги [S], seq 459540767, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:51:55.785218 IP 185.157.131.172.54675 > 192.168.0.61.8123: флаги [S], seq 3837920396, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:51:56.037321 IP 185.157.131.172.54676 > 192.168.0.61.8123: флаги [S], seq 1212264514, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:51:56.095399 IP 185.157.131.172.54673 > 192.168.0.61.8123: флаги [S], seq 331949659, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:51:56.775268 IP 185.157.131.172.54674 > 192.168.0.61.8123: флаги [S], seq 459540767, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:51:56.797301 IP 185.157.131.172.54675 > 192.168.0.61.8123: флаги [S], seq 3837920396, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:51:57.055209 IP 185.157.131.172.54676 > 192.168.0.61.8123: флаги [S], seq 1212264514, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:51:58.115261 IP 185.157.131.172.54673 > 192.168.0.61.8123: флаги [S], seq 331949659, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:51:58.799213 IP 185.157.131.172.54674 > 192.168.0.61.8123: флаги [S], seq 459540767, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:51:58.800187 IP 185.157.131.172.54675 > 192.168.0.61.8123: флаги [S], seq 3837920396, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
16:51:59.067247 IP 185.157.131.172.54676 > 192.168.0.61.8123: флаги [S], seq 1212264514, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK], длина 0
...
[[email protected]~]# tcpdump -i as0t0 порт 8123 -n
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на as0t0, RAW типа link (Raw IP), размер захвата 262144 байт
[email protected]:~ $ sudo tcpdump -i tun0 порт 8123 -n
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на tun0, тип ссылки RAW (Raw IP), размер захвата 262144 байт
Я не знаю, как продолжить устранение неполадок. Есть идеи?
Спасибо
Редактировать 1:
[[email protected] ~]# iptables-save -c
# Сгенерировано iptables-save v1.4.21, вторник, 19 октября, 16:14:28 2021 г.
* калечить
: ПРЕДВАРИТЕЛЬНОЕ ПРИНЯТИЕ [47:10649]
:ВВОД ПРИНЯТЬ [560:148103]
:ВПЕРЕД ПРИНЯТЬ [0:0]
: ВЫВОД ПРИНЯТ [548:147705]
:ОТПРАВКА ПРИНЯТИЯ [548:147705]
:AS0_MANGLE_PRE_REL_EST - [0:0]
:AS0_MANGLE_TUN - [0:0]
[533:144894] -A PREROUTING -m состояние --state RELATED,ESTABLISHED -j AS0_MANGLE_PRE_REL_EST
[2:251] -A ПРЕДВАРИТЕЛЬНАЯ МАРШРУТИЗАЦИЯ -i as0t+ -j AS0_MANGLE_TUN
[533:144894] -A AS0_MANGLE_PRE_REL_EST -j ПРИНЯТЬ
[2:251] -A AS0_MANGLE_TUN -j MARK --set-xmark 0x2000000/0xffffffff
[2:251] -A AS0_MANGLE_TUN -j ПРИНЯТЬ
СОВЕРШИТЬ
# Завершено Вт 19 окт 16:14:28 2021
# Сгенерировано iptables-save v1.4.21, вторник, 19 октября, 16:14:28 2021 г.
*сырой
: ПРЕДВАРИТЕЛЬНОЕ ПРИНЯТИЕ [611:161750]
: ВЫВОД ПРИНЯТ [577:150493]
СОВЕРШИТЬ
# Завершено Вт 19 окт 16:14:28 2021
# Сгенерировано iptables-save v1.4.21, вторник, 19 октября, 16:14:28 2021 г.
*фильтр
:ВВОД ПРИНЯТЬ [7:1954]
:ВПЕРЕД ПРИНЯТЬ [0:0]
: ВЫВОД ПРИНЯТ [504:140983]
:AS0_ACCEPT - [0:0]
:AS0_IN - [0:0]
:AS0_IN_NAT - [0:0]
:AS0_IN_POST - [0:0]
:AS0_IN_PRE - [0:0]
:AS0_IN_ROUTE - [0:0]
:AS0_OUT - [0:0]
:AS0_OUT_LOCAL - [0:0]
:AS0_OUT_POST - [0:0]
:AS0_OUT_S2C - [0:0]
:AS0_U_OPENVPN_IN - [0:0]
:AS0_U_OPENVPN_OUT - [0:0]
:AS0_WEBACCEPT - [0:0]
[534:144934] -A ВХОД -m состояние --state СВЯЗАННО, УСТАНОВЛЕНО -j AS0_ACCEPT
[13:780] -A INPUT -i lo -j AS0_ACCEPT
[0:0] -A ВХОД -m отметка --mark 0x2000000/0x2000000 -j AS0_IN_PRE
[2:120] -A INPUT -d 192.168.0.61/32 -p tcp -m state --state NEW -m tcp --dport 1194 -j AS0_ACCEPT
[0:0] -A ВХОД -m состояние --state СВЯЗАННО, УСТАНОВЛЕНО -j AS0_WEBACCEPT
[0:0] -A INPUT -p tcp -m состояние --state NEW -m tcp --dport 943 -j AS0_WEBACCEPT
[0:0] -A FORWARD -m состояние --state СВЯЗАННО, УСТАНОВЛЕНО -j AS0_ACCEPT
[0:0] -A ВПЕРЕД -m отметка --mark 0x2000000/0x2000000 -j AS0_IN_PRE
[0:0] -A ВПЕРЕД -o as0t+ -j AS0_OUT_S2C
[0:0] -A ВЫХОД -o as0t+ -j AS0_OUT_LOCAL
[549:145834] -A AS0_ACCEPT -j ПРИНЯТЬ
[0:0] -A AS0_IN -d 172.27.224.1/32 -j ПРИНЯТЬ
[0:0] -A AS0_IN -s 172.27.224.2/32 -j AS0_U_OPENVPN_IN
[0:0] -A AS0_IN -s 192.168.2.0/24 -j AS0_U_OPENVPN_IN
[0:0] -A AS0_IN -j AS0_IN_POST
[0:0] -A AS0_IN_NAT -j MARK --set-xmark 0x8000000/0x8000000
[0:0] -A AS0_IN_NAT -j ПРИНЯТЬ
[0:0] -A AS0_IN_POST -d 192.168.0.0/24 -j ПРИНЯТЬ
[0:0] -A AS0_IN_POST -o as0t+ -j AS0_OUT
[0:0] -A AS0_IN_POST -j УДАЛИТЬ
[0:0] -A AS0_IN_PRE -d 169.254.0.0/16 -j AS0_IN
[0:0] -A AS0_IN_PRE -d 192.168.0.0/16 -j AS0_IN
[0:0] -A AS0_IN_PRE -d 172.16.0.0/12 -j AS0_IN
[0:0] -A AS0_IN_PRE -d 10.0.0.0/8 -j AS0_IN
[0:0] -A AS0_IN_PRE -j УДАЛИТЬ
[0:0] -A AS0_IN_ROUTE -j MARK --set-xmark 0x4000000/0x4000000
[0:0] -A AS0_IN_ROUTE -j ПРИНЯТЬ
[0:0] -A AS0_OUT -d 172.27.224.2/32 -j AS0_U_OPENVPN_OUT
[0:0] -A AS0_OUT -d 192.168.2.0/24 -j AS0_U_OPENVPN_OUT
[0:0] -A AS0_OUT -j AS0_OUT_POST
[0:0] -A AS0_OUT_LOCAL -p icmp -m icmp --icmp-type 5 -j DROP
[0:0] -A AS0_OUT_LOCAL -j ПРИНЯТЬ
[0:0] -A AS0_OUT_POST -j УДАЛИТЬ
[0:0] -A AS0_OUT_S2C -s 192.168.0.0/24 -j ПРИНЯТЬ
[0:0] -A AS0_OUT_S2C -j AS0_OUT
[0:0] -A AS0_U_OPENVPN_IN -d 192.168.0.0/24 -j AS0_IN_ROUTE
[0:0] -A AS0_U_OPENVPN_IN -j AS0_IN_POST
[0:0] -A AS0_U_OPENVPN_OUT -s 192.168.0.0/24 -j ПРИНЯТЬ
[0:0] -A AS0_U_OPENVPN_OUT -s 192.168.2.0/24 -j ПРИНЯТЬ
[0:0] -A AS0_U_OPENVPN_OUT -s 172.27.224.0/20 -j ПРИНЯТЬ
[0:0] -A AS0_U_OPENVPN_OUT -j AS0_OUT_POST
[0:0] -A AS0_WEBACCEPT -j ПРИНЯТЬ
СОВЕРШИТЬ
# Завершено Вт 19 окт 16:14:28 2021
# Сгенерировано iptables-save v1.4.21, вторник, 19 октября, 16:14:28 2021 г.
*натуральный
: ПРЕДВАРИТЕЛЬНОЕ ПРИНЯТИЕ [36:10120]
:ВВОД ПРИНЯТЬ [14:2429]
: ВЫВОД ПРИНЯТ [18:1141]
:ОТПРАВКА ПРИНЯТИЯ [18:1141]
:AS0_NAT - [0:0]
:AS0_NAT_POST_REL_EST - [0:0]
:AS0_NAT_PRE - [0:0]
:AS0_NAT_PRE_REL_EST - [0:0]
:AS0_NAT_TEST - [0:0]
[0:0] -A PREROUTING -m состояние --state СВЯЗАННО,УСТАНОВЛЕНО -j AS0_NAT_PRE_REL_EST
[0:0] -A PREROUTING -i eth0 -p tcp -m tcp --dport 1883 -j DNAT --to-destination 192.168.2.245:1883
[0:0] -A PREROUTING -i eth0 -p tcp -m tcp --dport 1884 -j DNAT --назначение 192.168.2.245:1884
[0:0] -A PREROUTING -i eth0 -p tcp -m tcp --dport 8123 -j DNAT --назначение 192.168.2.245:8123
[0:0] -A PREROUTING -i eth0 -p tcp -m tcp --dport 2223 -j DNAT --назначение 192.168.2.245:22
[0:0] -A ОТПРАВКА -m состояние --state СВЯЗАННО, УСТАНОВЛЕНО -j AS0_NAT_POST_REL_EST
[0:0] -A РАЗМЕЩЕНИЕ -m отметка --mark 0x2000000/0x2000000 -j AS0_NAT_PRE
[0:0] -A AS0_NAT -o eth0 -j SNAT --к источнику 192.168.0.61
[0:0] -A AS0_NAT -j ПРИНЯТЬ
[0:0] -A AS0_NAT_POST_REL_EST -j ПРИНЯТЬ
[0:0] -A AS0_NAT_PRE -m отметка --mark 0x8000000/0x8000000 -j AS0_NAT
[0:0] -A AS0_NAT_PRE -d 169.254.0.0/16 -j AS0_NAT_TEST
[0:0] -A AS0_NAT_PRE -d 192.168.0.0/16 -j AS0_NAT_TEST
[0:0] -A AS0_NAT_PRE -d 172.16.0.0/12 -j AS0_NAT_TEST
[0:0] -A AS0_NAT_PRE -d 10.0.0.0/8 -j AS0_NAT_TEST
[0:0] -A AS0_NAT_PRE -j AS0_NAT
[0:0] -A AS0_NAT_PRE_REL_EST -j ПРИНЯТЬ
[0:0] -A AS0_NAT_TEST -o as0t+ -j ПРИНЯТЬ
[0:0] -A AS0_NAT_TEST -m отметка --mark 0x4000000/0x4000000 -j ПРИНЯТЬ
[0:0] -A AS0_NAT_TEST -d 192.168.0.0/24 -j ПРИНЯТЬ
[0:0] -A AS0_NAT_TEST -d 192.168.2.0/24 -j ПРИНЯТЬ
[0:0] -A AS0_NAT_TEST -d 172.27.224.0/20 -j ПРИНЯТЬ
[0:0] -A AS0_NAT_TEST -j AS0_NAT
СОВЕРШИТЬ
# Завершено Вт 19 окт 16:14:28 202
Редактировать 2:
Как предлагает @a-b, я даю больше информации о схеме сети, потому что есть туннель openVPN (маршрутизация), который может фильтровать некоторые пакеты. Туннель openVPN представлен в виде луча.
В примерах 192.168.0.6 может пройти через туннель, а публичный ip (185.157.131.172) - нет.