Jump to content

Доступ к USB модему через Wireguard из удаленной сети


Recommended Posts

Здравствуйте!

У меня есть два роутера: Speedster и 4G, они через интернет соединены Wireguard тоннелем.

IP Speedster: 192.168.1.1, IP в тоннеле: 10.10.10.10
IP 4G: 192.168.50.1, IP в тоннеле: 10.10.10.20

В качестве сервера VPN выступает Speedster, клиент - 4G.

USB Модем               Роутер 4G                        Тоннель Wireguard                    Роутер Speedster           Компьютер NAS

192.168.8.1---------192.168.50.1------10.10.10.20=========10.10.10.10-------192.168.1.1 -------------- 192.168.1.100

 

Тоннель используется для доступа к интернет для пользователей сети 192.168.50.x, с этим проблем нет.

Я могу из клиентской сети 192.168.50.x пинговать хосты из сети 192.168.1.x, например свой NAS с адресом 192.168.1.100.

К порту роутера 4G подключен USB модем с адресом 192.168.8.1. Мне необходимо иметь доступ к нему с компьютера NAS - 192.168.1.100.

К сожалению, никак не могу этого добиться, получаю такой вывод:

ping 192.168.8.1
PING 192.168.8.1 (192.168.8.1) 56(84) bytes of data.
^C
--- 192.168.8.1 ping statistics ---
12 packets transmitted, 0 received, 100% packet loss, time 1005ms

Не проходит пинг от 192.168.1.100 до 10.10.10.20, а до 10.10.10.10 - проходит. Думаю, что где-то здесь я не доработал.

Использовал инструкции на сайте Кинетик:
Настройка WireGuard VPN между двумя роутерами Keenetic,
Доступ в Интернет через WireGuard-туннель,
Доступ в веб-интерфейс USB-модема за VPN-клиентом Wireguard-туннеля,
Маршрутизация сетей через VPN.

В итоге я могу пинговать модем 192.168.8.1 с роутера Speedster - 192.168.1.1 (Диагностика - Проверка сетевого соединения), то есть маршрут к модему существует. Но ни с одного из компьютеров сети 192.168.1.x не могу пингануть ни сеть 192.168.50.x, ни модем, но даже второй конец тоннеля - 10.10.10.20.

Здесь на форуме было несколько похожих тем, но не помогло ничего пока что.

Прошу помочь.

Edited by Nikolay Zagorodnov
Link to comment
Share on other sites

Может быть, нужно ещё разрешающие правила прописать?

Типа входящие с подсети 192.168.8.0/24 и с 192.168.50.0/24 на 192.168.1.0/24 разрешить.

Link to comment
Share on other sites

4 часа назад, Pop70 сказал:

Может быть, нужно ещё разрешающие правила прописать?

Типа входящие с подсети 192.168.8.0/24 и с 192.168.50.0/24 на 192.168.1.0/24 разрешить.

Да, конечно, все правила, про которые я прочитал в статьях, созданы и работают. 

В роутере Seedster (сервер) из сети 192.168.1.0 есть правило маршрута до сети 192.168.50.1 и 192.168.8.0.

В роутере 4G (клиент) из сети 192.168.50.0 есть правило маршрута до сети 192.168.1.1

В межсетевом экране на обоих роутерах создано правило для пропуска IP трафика в любом направлении.

Роутер Speedster (192.168.1.1), IP туннеля: 10.10.10.10:

Из 192.168.1.1.jpg

Из 192.168.1.1 до модема.jpg

На обоих роутерах Speedster и 4G:

Из 192.168.1.1 МСЭ.jpg

Из 192.168.50.1 МСЭ.jpg

Роутер 4G (192.168.50.1), IP туннеля: 10.10.10.20:

Из 192.168.50.1.jpg

 

569723321_192_168.1_50.jpg.3e4f9f518bf1a275f107b5d3c333177a.jpg

Edited by Nikolay Zagorodnov
Исправление ошибок в описании проблемы
Link to comment
Share on other sites

3 часа назад, Nikolay Zagorodnov сказал:

Роутер 4G (192.168.50.1), IP туннеля: 10.10.10.20:

Вот этот маршрут неправильный.

Это же к этому роутеру подключен модем? Он и так знает маршрут к модему.

А такой маршрут должен быть на спидстере

Link to comment
Share on other sites

На спидстере (192.168.1.1) маршрут 

До сети 

192.168.8.0/24

Шлюз 192.168.50.1

ИМХО, мало загнать маршрут в туннель, нужно указать ШЛЮЗ, который знает эту сеть.

А на 4Г (192.168.50.1), при подключенном модеме, есть маршрут до этого модема.

 

 

Link to comment
Share on other sites

42 минуты назад, Pop70 сказал:

Вот этот маршрут неправильный.

Это же к этому роутеру подключен модем? Он и так знает маршрут к модему.

А такой маршрут должен быть на спидстере

Прошу прощения, этот маршрут так же прописан в Spedster (192.168.1.1), исправил в описании.

11 минуту назад, Pop70 сказал:

На спидстере (192.168.1.1) маршрут 

До сети 

192.168.8.0/24

Шлюз 192.168.50.1

ИМХО, мало загнать маршрут в туннель, нужно указать ШЛЮЗ, который знает эту сеть.

А на 4Г (192.168.50.1), при подключенном модеме, есть маршрут до этого модема.

Согласен, может этого и мало, делал всё по инструкции.

Еще раз повторюсь, что если в Диагностике на роутере Speedster (192.168.1.1) пробовать пинговать, то там пинг проходит на всё, что нужно: 10.10.10.10, 10.10.10.20, 192.168.50.1, 192.168.8.1.

Но если пингую с устройства за Speedster'ом, например с 192.168.1.100, то пинг идет только до 10.10.10.10, а уже 10.10.10.20 не пингуется.

Edited by Nikolay Zagorodnov
Link to comment
Share on other sites

20 часов назад, Nikolay Zagorodnov сказал:

Тоннель используется для доступа к интернет для пользователей сети 192.168.50.x, с этим проблем нет.

А не тут ли собака порылась? 

Галочка "использовать подключение для выхода в интернет" на стороне клиента стоит?

А если убрать?

Вобщем, похоже, что это NAT.

 

Link to comment
Share on other sites

38 минут назад, Pop70 сказал:

А не тут ли собака порылась? 

Галочка "использовать подключение для выхода в интернет" на стороне клиента стоит?

А если убрать?

Вобщем, похоже, что это NAT.

 

Да, галочка "Использовать для выхода в интернет" на клиенте 4G (192.168.50.1) стоит.

Снял галочку, перегрузил роутер 4G, доступа к Интернет нет, но и ничего более не изменилось, доступа с удаленного компьютера 192.168.1.100 к роутеру 192.168.50.1 нет, к концу тоннеля 10.10.10.10 со стороны роутера Speedster (192.168.1.1) - тоже нет.

В статье Доступ в Интернет через WireGuard-туннель написано:

Цитата

WireGuard-интерфейсу должен быть установлен уровень безопасности private. Для этого потребуется в интерфейсе командной строки (CLI) роутера ввести следующую команду (в нашем примере для интерфейса Wireguard0):

interface Wireguard0 security-level private

Также для интерфейса должна быть включена установка автоматической трансляции адресов (NAT). Для этого потребуется ввести команду:

ip nat Wireguard0

Это необходимые и достаточные условия. Настройки на сервере следует сохранить при помощи команды:

system configuration save

Думаете это всё из-за этой настройки?

Edited by Nikolay Zagorodnov
Link to comment
Share on other sites

1 час назад, Nikolay Zagorodnov сказал:

Думаете это всё из-за этой настройки?

Я думаю, что NAT на интерфейсе  сервера не пускает пакеты из 192.168.50.0 (и 8.0) обратно.

Если сервер подменяет исходящий адрес пинга на свой, то и устройство-клиент 4g отвечает на ip роутера-сервера.

Поэтому, клиент из сети 192.168.1.0 не получает ответа.

У Вас сеть клиентов 4g за NAT, по отношению к сети спидстера.

NAT нужно отключать, и всё делать маршрутами, включая интернет через туннель.

Link to comment
Share on other sites

Не знаю, правильно ли я сделал, но вот что у меня получилось.

Еще раз прочитал статью: Доступ в Интернет через WireGuard-туннель

В этой статье в самом начале настройки я вводил команды на роутере Speedster:

Цитата

 

а) На VPN-сервере меняем уровень безопасности интерфейса Wireguard0 и включаем для него правило автоматической трансляции адресов.

interface Wireguard1 security-level private
ip nat Wireguard1
system configuration save

 


Видимо из-за NAT я не мог зайти с адреса 192.168.1.100 на USB модем 192.168.8.1

Сейчас сделал так, почти вернул настройки обратно:

interface Wireguard1 security-level public
Не стал вводить команду - no ip nat Wireguard1
system configuration save

Смотрим уровень безопасности интерфейс на роутере Speedster:
show interface Wireguard1

security-level: public

Смотрим уровень безопасности интерфейс на роутере на роутере 4G:
show interface Wireguard0

security-level: public

То есть больше нет уровня security-level private

В настройках Wireguard в Keenetic 4G стоит галочка "Использовать для выхода в интернет".

Перезагрузил оба роутера, теперь есть и Интернет и доступ к модему по адресу: 192.168.8.1, но со стороны Speedster нет пинга до 192.168.50.1.

В NAS (192.168.1.100) создал маршрут:
ip route add 192.168.50.0/24 via 192.168.1.1

На Windows машине создал маршрут:
route add 192.168.50.0 mask 255.255.255.0 192.168.1.1

Теперь ВСЁ что мне было нужно пингуется и ко всем сетям/устройствам есть доступ!

Спасибо за помощь, Pop70!

Link to comment
Share on other sites

1 час назад, Nikolay Zagorodnov сказал:

В NAS (192.168.1.100) создал маршрут:
ip route add 192.168.50.0/24 via 192.168.1.1

На Windows машине создал маршрут:
route add 192.168.50.0 mask 255.255.255.0 192.168.1.1

А зачем?

У Вас в сети 1.0 и так должен быть маршрут по умолчанию 192.168.1.1

Link to comment
Share on other sites

14 часа назад, stefbarinov сказал:

Не забудьте route -p, иначе после ребута ПК маршрут исчезнет))

Спасибо за подсказку!

13 часа назад, Pop70 сказал:

А зачем?

У Вас в сети 1.0 и так должен быть маршрут по умолчанию 192.168.1.1

Согласен, перегрузил машину с Windows, вручную маршрут не стал больше прописывать.

 

Но недолгой была моя радость. Через какое-то время пинг из сети 192.168.1.0 перестал ходить в сеть 192.168.50.0.

Пришлось все же сделать так:

В роутере Speedster (192.168.1.1):

interface Wireguard1 security-level public
no ip nat Wireguard1
system configuration save

В роутере 4G (192.168.50.1):

Убрал галочку в тоннеле Wireguard "Использовать для выхода в интернет".

Теперь у меня нет интернета через тоннель, но во все стороны пинг идет:

Из сети 192.168.1.0 --> 192.168.50.0

Из сети 192.168.5.0 --> 192.168.1.0.

Как бы мне теперь еще и интернет в тоннеле получить заодно?

Edited by Nikolay Zagorodnov
Link to comment
Share on other sites

2 часа назад, Nikolay Zagorodnov сказал:

Как бы мне теперь еще и интернет в тоннеле получить заодно?

В МСЭ для Wireguard откройте протокол ip для всего с обоих сторон и поставьте галочку в чек-боксе «Использовать для выхода в интернет»

Link to comment
Share on other sites

1 час назад, stefbarinov сказал:

В МСЭ для Wireguard откройте протокол ip для всего с обоих сторон и поставьте галочку в чек-боксе «Использовать для выхода в интернет»

Такой метод не работает, если не выполнить команды:

interface Wireguard0 security-level private

ip nat Wireguard0

system configuration save

Изначально у меня так и было сделано, но тогда возникают проблемы с доступом из сети 192.168.1.0 в сеть 192.168.50.0 и к модему 192.168.8.1

Link to comment
Share on other sites

В 21.08.2022 в 14:42, Nikolay Zagorodnov сказал:

Мне необходимо иметь доступ к нему с компьютера NAS - 192.168.1.100

c ПК 192.168.1.100 tracert -d 192.168.8.1 что покажет? Как я понял, с 1.100 до 50.1 пинг есть, а до 8.1 нет, верно?

Edited by stefbarinov
Link to comment
Share on other sites

42 минуты назад, stefbarinov сказал:

c ПК 192.168.1.100 tracert -d 192.168.8.1 что покажет? Как я понял, с 1.100 до 50.1 пинг есть, а до 8.1 нет, верно?

traceroute -d 192.168.8.1

traceroute to 192.168.8.1 (192.168.8.1), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.1)  0.543 ms  0.681 ms  0.805 ms
 2  10.10.10.20 (10.10.10.20)  260.485 ms  260.551 ms  260.634 ms
 3  192.168.8.1 (192.168.8.1)  260.744 ms  276.296 ms  276.304 ms

После того, как я отключил NAT в тоннеле, то пинг есть и до 192.168.50.1 и до 192.168.8.1

 

 

Edited by Nikolay Zagorodnov
Link to comment
Share on other sites

4 минуты назад, Nikolay Zagorodnov сказал:

После того, как я отключил NAT в тоннеле

Включите NAT и заново проверить, нужно понимать, на каком хопе всё останавливается и его смотреть

Link to comment
Share on other sites

27 минут назад, stefbarinov сказал:

Включите NAT и заново проверить, нужно понимать, на каком хопе всё останавливается и его смотреть

В роутере Speedster (192.168.1.1) выполнил 2 команды:

ip nat Wireguard1
system configuration save

В роутере 4G (192.168.50.1) включил галку "Использовать для выхода в интернет"

Перезапустил тоннель.

Интернет заработал через тоннель.

С машины NAS (192.168.1.100) запускаю traceroute:

traceroute -d 192.168.8.1:

traceroute to 192.168.8.1 (192.168.8.1), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.1)  0.298 ms  0.456 ms  0.522 ms
 2  10.10.10.20 (10.10.10.20)  152.375 ms  152.614 ms  152.549 ms
 3  192.168.8.1 (192.168.8.1)  152.628 ms  152.644 ms  152.689 ms

traceroute -d 192.168.50.1:

traceroute to 192.168.50.1 (192.168.50.1), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.1)  0.385 ms * *
 2  192.168.50.1 (192.168.50.1)  142.647 ms  142.657 ms  142.757 ms

Получается, всё, что мне нужно, работает. Даже роутеры боюсь перегружать.

P.S.

Перезагрузил оба роутера.

С машины NAS (192.168.1.100) запускаю traceroute:

traceroute -d 192.168.8.1:

traceroute to 192.168.8.1 (192.168.8.1), 30 hops max, 60 byte packets
 1  * * *
 2  10.10.10.20 (10.10.10.20)  144.514 ms  152.522 ms  152.562 ms
 3  192.168.8.1 (192.168.8.1)  153.975 ms  160.298 ms  168.210 ms

traceroute -d 192.168.50.1:

traceroute to 192.168.50.1 (192.168.50.1), 30 hops max, 60 byte packets
 1  _gateway (192.168.1.1)  0.428 ms  0.477 ms  0.666 ms
 2  192.168.50.1 (192.168.50.1)  145.180 ms  145.291 ms  145.306 ms

 

 

 

 

Edited by Nikolay Zagorodnov
Link to comment
Share on other sites

13 минуты назад, Nikolay Zagorodnov сказал:

traceroute -d 192.168.50.1

Его нет смысла трассировать, раз хоп 192.168.8.1 доступен, так как он находится за 192.168.50.1

  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...