Как лучше соединить два роутера с динамическими ip по Wireguard, используя VPS сервер в качестве сервера с белым ip?

Ссылка скопирована
1 ответ

По вводным: что имеем. Есть два роутера кинетик. Сейчас они оба подключаются к Vps, на котором установлен Wireguard по этому скриптуhttps://github.com/Nyr/wireguard-installСейчас ситуация такая: и Запрет. Тоесть выход в интернет осуществляется через запрет на удаленном сервере. Теперь хочу убрать запрет и использовать vps просто как сервер с белым ip. Чтобы один роутер подключился к другому и через него выходил в интернет. Роутеры я настрою, нужен совет, как настроить wireguard на vps. В принципе на wireguard свет клином не сошолся. Можно и другой протокол. Роутеры умеют во все основные протоколы. Просто я чайник и с wireguard есть простые скриптовые решения.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Web-разработка Ответ

Вам нужен не “сервер, через который весь интернет выходит”, а центральный WireGuard-хаб с белым IP, через который две сети видят друг друга. VPS в такой схеме не должен быть default gateway для всего трафика, если вы этого не хотите. Он просто маршрутизирует подсети между двумя роутерами.

Пример: роутер A имеет локальную сеть 192.168.10.0/24, роутер B — 192.168.20.0/24, VPS WireGuard — 10.50.0.1, роутер A — 10.50.0.2, роутер B — 10.50.0.3. На VPS в wg0.conf peers должны иметь AllowedIPs не только WG-адрес, но и LAN-подсеть за этим роутером.

[Interface]
Address = 10.50.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
 
[Peer]
PublicKey = ROUTER_A_PUBLIC_KEY
AllowedIPs = 10.50.0.2/32, 192.168.10.0/24
 
[Peer]
PublicKey = ROUTER_B_PUBLIC_KEY
AllowedIPs = 10.50.0.3/32, 192.168.20.0/24

[Interface] Address = 10.50.0.1/24 ListenPort = 51820 PrivateKey = SERVER_PRIVATE_KEY [Peer] PublicKey = ROUTER_A_PUBLIC_KEY AllowedIPs = 10.50.0.2/32, 192.168.10.0/24 [Peer] PublicKey = ROUTER_B_PUBLIC_KEY AllowedIPs = 10.50.0.3/32, 192.168.20.0/24

На роутере A для peer VPS указываете AllowedIPs = 10.50.0.0/24, 192.168.20.0/24. На роутере B — 10.50.0.0/24, 192.168.10.0/24. Не ставьте 0.0.0.0/0, если не хотите гнать весь интернет через VPS.

На VPS включите маршрутизацию:

sysctl -w net.ipv4.ip_forward=1

sysctl -w net.ipv4.ip_forward=1

NAT между двумя вашими LAN обычно не нужен, если на роутерах правильно прописаны маршруты. Но если Keenetic не маршрутизирует удалённую подсеть как надо, можно временно включить NAT на VPS, хотя это хуже для прозрачности. Правильнее добиться route-based схемы.

Важные условия: локальные сети роутеров не должны совпадать; на каждом роутере должен быть маршрут в сеть второго роутера через WireGuard; firewall должен разрешать трафик между WG и LAN. Если динамические IP у роутеров, это не проблема: они сами инициируют подключение к VPS с белым IP, а PersistentKeepalive 25 помогает держать NAT-сессию.

Итого: VPS — hub, оба Keenetic — peers, AllowedIPs описывают реальные LAN-подсети, 0.0.0.0/0 не используете. Тогда один роутер сможет ходить в сеть второго, а интернет останется через локального провайдера.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно