Wireguard VPN Outbound и Inbound

573
Gaia

Я пытаюсь настроить туннель Wireguard, чтобы A использовал IP-адрес B для исходящего и входящего трафика (например, прокси, а не конфигурацию VPN std). Обе коробки - это Ubuntu 16.04.

А это eth0, за роутером с NAT и на DMZ, с IP А

B имеет два общедоступных IP-адреса: основной (ens3, он же B1) и вторичный (ens3: 0, он же B2). Вторичный должен быть посвящен туннелю WG.

РГ на А:

Interface Address = 10.200.1.2/24 SaveConfig = true ListenPort = 50614 FwMark = 0xca6c PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [Peer] PublicKey = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy AllowedIPs = 0.0.0.0/0 Endpoint = <B2>:51820 PersistentKeepalive = 10

РГ на Б:

[Interface] Address = 10.200.1.1/24 SaveConfig = true ListenPort = 51820 PrivateKey = wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [Peer] PublicKey = zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz AllowedIPs = 10.200.1.0/24 Endpoint = A:50614

Маршрут по А:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Маршрут по Б:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 B1.B1.B1.1 0.0.0.0 UG 0 0 0 ens3 B2.B2.B2.0 0.0.0.0 255.255.255.0 U 0 0 0 ens3 B1.B1.B1.0 0.0.0.0 255.255.254.0 U 0 0 0 ens3 169.254.169.254 B1.B1.B1.1 255.255.255.255 UGH 0 0 0 ens3

Какой маршрут мне нужно добавить, чтобы каждый исходящий пакет из A отправлялся через B2, а каждый входящий в B2 пакет отправлялся в A?

0

1 ответ на вопрос

1
Gaia

Я получил большую помощь от сообщества Wireguard, и вот что работает.

Клиент)

[Interface] Address = B2/32 PrivateKey = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy  [Peer] PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx AllowedIPs = 0.0.0.0/0 Endpoint = B2:51820 PersistentKeepalive = 10 

B (сервер)

[Interface] ListenPort = 51820 PrivateKey = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy  [Peer] PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx AllowedIPs = B2/32 

Не забывайте об обычных шагах (на B)

  • открыть 51820 / UDP в брандмауэре
  • задавать net.ipv4.ip_forward = 1

Если интерфейс wg0 на B показывает постоянно растущее число ошибок, вы можете отключить DMZ для A или ограничить входящие порты, которые используются в B2, которые также могут иметь трафик через A к интерфейсу WG. Это может иметь место, если вы используете одноранговые сервисы.

Похожие вопросы