Назад | Перейти на главную страницу

Почему «ip -4 route add 31.1.1.1/32 dev wg0» нарушает работу сети EC2 с WireGuard

Изменить: объясняя, я наконец понял ошибку в моей логике. Тестовый IP-адрес, который я использовал для маршрутизации, - это тот же IP-адрес, к которому я подключался. Таким образом, мое соединение испортилось в тот момент, когда я изменил маршрутизацию.

Это может быть просто или очень сложно. У меня два узла EC2. Оба находятся под моим полным контролем.

Мне нужно направить весь трафик на определенный IP-адрес, скажем, 31.1.1.1 с одного узла через другой. В основном это типичная настройка VPN, где весь трафик до 31.1.1.1 направляется через VPN, а не через обычный шлюз. Вот так.

Client Node --> Server Node --> 31.1.1.1
Client Node --> Default GW --> www.google.com

Я хочу использовать и настроить WireGuard для этого;

Сервер

[Interface]
PrivateKey = -------------------
ListenPort = 51820
Address = 10.20.40.1/24
PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens5 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens5 -j MASQUERADE

[Peer]
PublicKey = -------------------
AllowedIPs = 10.20.40.0/24

Клиент

[Interface]
PrivateKey = -------------------
ListenPort = 51820
Address = 10.20.40.2/24

[Peer]
PublicKey = -------------------
Endpoint = x.x.x.x:51820
AllowedIPs = 10.20.40.0/24

Запускаю Wireguard wg-quick up wg0 на обеих машинах, и они отлично пингуют друг друга. Вроде все работает. Я отключаю Wireguard на клиентской машине и редактирую разрешенный бит IP; AllowedIPs = 10.20.40.0/24, 31.1.1.1/32, Затем снова запускаю Wireguard. Это приводит к немедленному разрыву всех сетевых подключений на клиентском компьютере. Я не могу подключиться к нему по SSH, я не могу использовать RDP или любое другое сетевое соединение. Чтобы снова подключиться к этой машине, требуется жесткая перезагрузка через консоль EC2.

Оскорбительная команда, я думаю, ip -4 route add 31.1.1.1/32 dev wg0 поскольку, когда я выдаю это на клиентской или серверной машине, я воспроизводю сбой netwerk.

Это проблема с AWS EC2? Могу ли я даже изменить маршрутизацию в этих системах? Или команда в ее нынешнем виде просто неверна?

Изменить: таблицы маршрутизации и другая информация по запросу

Перед

Server
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         ip-172-31-16-1. 0.0.0.0         UG    100    0        0 ens5
172.31.16.0     0.0.0.0         255.255.240.0   U     0      0        0 ens5
ip-172-31-16-1. 0.0.0.0         255.255.255.255 UH    100    0        0 ens5


Client
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.31.16.1     0.0.0.0         UG    100    0        0 ens5
172.31.16.0     0.0.0.0         255.255.240.0   U     0      0        0 ens5
172.31.16.1     0.0.0.0         255.255.255.255 UH    100    0        0 ens5

После

Server
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.31.16.1     0.0.0.0         UG    100    0        0 ens5
10.20.40.0      0.0.0.0         255.255.255.0   U     0      0        0 wg0
172.31.16.0     0.0.0.0         255.255.240.0   U     0      0        0 ens5
172.31.16.1     0.0.0.0         255.255.255.255 UH    100    0        0 ens5

Client
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.31.16.1     0.0.0.0         UG    100    0        0 ens5
10.20.40.0      0.0.0.0         255.255.255.0   U     0      0        0 wg0
172.31.16.0     0.0.0.0         255.255.240.0   U     0      0        0 ens5
172.31.16.1     0.0.0.0         255.255.255.255 UH    100    0        0 ens5

Я только замаскировал реальный IP сервера, если это надоедает, дайте мне знать. Остальные скрытые предметы - это всего лишь ключи. Делаем маршрут ip route add 31.1.1.1/32 via 10.20.40.1 не приводит к проблемам с сетью, но некоторая маршрутизация делает, это не нарушает работу

ip route add 31.1.1.1/32 via 10.20.40.1
ip route add 8.8.8.8/32 via 10.20.40.1

Это сломает это

ip route add 31.21.203.46/32 via 10.20.40.1
ip route add 31.21.203.0/24 via 10.20.40.1