В моей локальной сети есть две соответствующие подсети: 192.168.1.0/24
и 192.168.72.0/24
. Они определяются через мой маршрутизатор.
Есть локальный сервер, работающий на 192.168.1.10
. На сервере работает Home Assistant Supervisor (который запускается через Docker).
Локальный сервер должен иметь возможность подключаться к различным хостам на 192.168.72.0/24
подсеть.
Это работает правильно в нормальных условиях, но ломается, когда я ввожу нордвпн
утилита, фильтрующая весь трафик через NordVPN.
Когда нордвпн
работает и подключен, локальный сервер не может отправлять или получать сообщения от хостов в подсети 192.168.72.0/24
.
я пробовал бегать добавить в белый список nordvpn подсеть 192.168.72.0/24
(или та же команда с 192.168.0.0/16
) но это не помогает.
Например, проверка связи с известным адресом в этой подсети:
serv@serv:~$ пинг 192.168.72.48
PING 192.168.72.48 (192.168.72.48) 56 (84) байт данных.
Из 10.8.0.1 icmp_seq=1 Целевой хост недоступен
Если я побегу айпи адрес
, мне показывают следующее:
serv@serv:~$ IP-адрес
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast состояние UP группа по умолчанию qlen 1000
ссылка/эфир 00:23:24:a6:68:56 брд ff:ff:ff:ff:ff:ff
альтернативное имя enp0s25
inet 192.168.1.10/24 brd 192.168.1.255 область глобальная динамическая noprefixroute eno1
valid_lft 82326 сек. preferred_lft 82326 сек.
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
ссылка/эфир 02:42:2b:ff:27:b8 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 глобальная область действия docker0
valid_lft навсегда
4: hassio: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
ссылка/эфир 02:42:7d:ba:7c:5b brd ff:ff:ff:ff:ff:ff
инет 172.35.32.1/23 brd 172.35.33.255 глобальный охват hassio
valid_lft навсегда
6: veth0fc757e@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master hassio state UP group default
ссылка/эфир 16:00:e7:0d:c1:37 brd ff:ff:ff:ff:ff:ff ссылка-netnsid 0
9: vetha95aaa0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
ссылка/эфир 62:38:5f:f9:c3:f5 brd ff:ff:ff:ff:ff:ff ссылка-netnsid 1
11: vethcf2e4fa@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master hassio state UP group default
ссылка/эфир 8e:4b:83:34:3a:d6 brd ff:ff:ff:ff:ff:ff ссылка-netnsid 1
13: veth6df409c@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master hassio state UP group default
ссылка/эфир 8a:79:2e:f8:dd:8f brd ff:ff:ff:ff:ff:ff ссылка-netnsid 2
15: veth82e25ea@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master hassio state UP group default
ссылка/эфир ae:eb:57:d3:d0:e0 brd ff:ff:ff:ff:ff:ff ссылка-netnsid 3
17: veth29b3afc@if16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master hassio state UP group default
ссылка/эфир 66:4c:55:ca:b4:62 brd ff:ff:ff:ff:ff:ff ссылка-netnsid 4
19: veth3377d0e@if18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master hassio state UP group default
ссылка/эфир e2:3d:8f:67:d9:57 brd ff:ff:ff:ff:ff:ff ссылка-netnsid 5
21: veth2c850be@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master hassio state UP group default
ссылка/эфир 92:2b:6e:06:51:6d brd ff:ff:ff:ff:ff:ff ссылка-netnsid 6
23: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast состояние НЕИЗВЕСТНО группа по умолчанию qlen 500
ссылка/нет
инет 10.8.0.4/24 глобальная область tun0
valid_lft навсегда
я верю тун0
Интерфейс предоставляется nordvpn. Его подсеть соответствует IP-адресу, который я вижу при неудачной попытке проверки связи.
Мое понимание сети очень ограничено, поэтому я не могу понять, почему мои пакеты попадают в 10.8.0.1
вместо того, чтобы быть отправленным на маршрутизатор в 192.168.1.1
.
Если это поможет, это вывод IP-маршрут
:
serv@serv:~$ IP-маршрут
0.0.0.0/1 через 10.8.0.4 dev tun0
по умолчанию через 192.168.1.1 dev eno1 proto dhcp metric 100
1.0.0.1 через 192.168.1.1 dev eno1
1.1.1.1 через 192.168.1.1 dev eno1
10.8.0.0/24 dev tun0 ссылка на область действия ядра proto src 10.8.0.4
128.0.0.0/1 через 10.8.0.4 dev tun0
172.17.0.0/16 dev docker0 ссылка на область ядра proto src 172.17.0.1
172.35.32.0/23 dev hassio ссылка на область ядра proto src 172.35.32.1
192.168.1.0/24 dev eno1 ссылка на область ядра proto src 192.168.1.10 метрика 100
213.232.87.204 через 192.168.1.1 dev eno1
и iptables -S
:
serv@serv:~$ sudo iptables -S
-P ВВОД ПРИНЯТЬ
-P ПАДЕНИЕ ВПЕРЕД
-P ВЫВОД ПРИНЯТЬ
-N ДОКЕР
-N DOCKER-ИЗОЛЯЦИЯ-ЭТАП-1
-N DOCKER-ИЗОЛЯЦИЯ-СТАДИЯ-2
-N DOCKER-ПОЛЬЗОВАТЕЛЬ
-A ВВОД -s 1.1.1.1/32 -i eno1 -j ПРИНЯТЬ
-A ВВОД -s 192.168.0.0/16 -i eno1 -j ПРИНЯТЬ
-A ВВОД -s 172.35.0.0/16 -i eno1 -j ПРИНЯТЬ
-A ВВОД -s 1.0.0.1/32 -i eno1 -j ПРИНЯТЬ
-A ВВОД -s 213.232.87.204/32 -i eno1 -j ПРИНЯТЬ
-A ВХОД -i eno1 -j DROP
-A FORWARD -j DOCKER-USER
-A ВПЕРЕД -j DOCKER-ИЗОЛЯЦИЯ-ЭТАП-1
-A FORWARD -o docker0 -m conntrack --ctstate СВЯЗАННО, УСТАНОВЛЕНО -j ПРИНЯТЬ
-A ВПЕРЕД -o docker0 -j DOCKER
-A ВПЕРЕД -i docker0 ! -o docker0 -j ПРИНЯТЬ
-A ВПЕРЕД -i docker0 -o docker0 -j ПРИНЯТЬ
-A FORWARD -o hassio -m conntrack --ctstate СВЯЗАННО, УСТАНОВЛЕНО -j ПРИНЯТЬ
-A ВПЕРЕД -o hassio -j ДОКЕР
-А ВПЕРЕД -i hassio ! -o hassio -j ПРИНЯТЬ
-A FORWARD -i hassio -o hassio -j ПРИНЯТЬ
-A ВЫВОД -d 1.1.1.1/32 -o eno1 -j ПРИНЯТЬ
-A ВЫВОД -d 192.168.0.0/16 -o eno1 -j ПРИНЯТЬ
-A ВЫВОД -d 172.35.0.0/16 -o eno1 -j ПРИНЯТЬ
-A ВЫВОД -d 1.0.0.1/32 -o eno1 -j ПРИНЯТЬ
-A ВЫВОД -d 213.232.87.204/32 -o eno1 -j ПРИНЯТЬ
-A ВЫХОД -o eno1 -j DROP
-A ДОКЕР -d 172.35.32.6/32 ! -i hassio -o hassio -p tcp -m tcp --dport 80 -j ПРИНЯТЬ
-A ДОКЕР -d 172.35.33.0/32 ! -i hassio -o hassio -p tcp -m tcp --dport 8884 -j ПРИНЯТЬ
-A ДОКЕР -d 172.35.33.0/32 ! -i hassio -o hassio -p tcp -m tcp --dport 8883 -j ПРИНЯТЬ
-A ДОКЕР -d 172.35.33.0/32 ! -i hassio -o hassio -p tcp -m tcp --dport 1884 -j ПРИНЯТЬ
-A ДОКЕР -d 172.35.33.0/32 ! -i hassio -o hassio -p tcp -m tcp --dport 1883 -j ПРИНЯТЬ
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -i hassio ! -o hassio -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j ВОЗВРАТ
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -o hassio -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j ВОЗВРАТ
-A DOCKER-USER -j ВОЗВРАТ
Как я могу убедиться, что пакеты направляются на 192.168.72.0/24
как и ожидалось?