Jump to content
  • 2
koshak

Подключение Wireguard

Question

импортнул заведомо рабочий конфиг, соединения с дальним концом не происходит

 

(config)> show interface Wireguard0

               id: Wireguard0
            index: 0
             type: Wireguard
      description: fin_wg9
   interface-name: Wireguard0
             link: down
        connected: no
            state: up
              mtu: 1420
         tx-queue: 50
          address: 10.9.0.11
             mask: 255.255.255.0
           uptime: 267
           global: yes
        defaultgw: no
         priority: 175
   security-level: public

        wireguard:
           public-key: 01XUzOPM6fZLUz0xFvBQxLIjpKZQOtXIF+gGfQoGlCY=

                 peer:
               public-key:
                           ycQ23ShO0O0fJgQMJNIR7bEDCAR6olJvskbe7C9or3A=
                  rxbytes: 0
                  txbytes: 6364
           last-handshake: 1570885795
                   online: no

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Recommended Posts

  • 3

Подробные стать в базе знаний Keenetic:

Туннельный интерфейс Wireguard и пример настройки VPN соединения локальных сетей двух маршрутизаторов Keenetic

Доступ в Интернет через Wireguard-туннель

Подключение по протоколу Wireguard VPN из Android

Подключение по протоколу Wireguard VPN в iOS

Подключение по протоколу Wireguard VPN из Linux

Подключение по протоколу Wireguard VPN из Windows 10

Подключение компьютера с Windows 7 к удаленной сети Keenetic по туннелю WireGuard

Пример настройки WG-Server KN-1010 <> WG-Client KN-1010:

WG-Server:

!
interface Wireguard2
    description wg-server
    security-level public
    ip address 172.16.82.1 255.255.255.0
    ip access-group _WEBADMIN_Wireguard2 in
    ip tcp adjust-mss pmtu
    wireguard listen-port 16631
    wireguard peer gnp5gW8pBQK2rA9ah1hiib1+3Jl218ZM8dBIjxxxx= !wg-home-client
        keepalive-interval 25
        allow-ips 172.16.82.2 255.255.255.255
        allow-ips 192.168.11.0 255.255.255.0
    !
    up


где:

172.16.82.0/24 - адресация внутри туннеля, соответственно на концах туннеля будут адреса 172.168.82.1 и 172.16.82.2

ip address 172.16.82.1 255.255.255.0 - внутренний адрес туннеля сервера
wireguard listen-port 16631 - порт, который будет слушать клиент для установки соединения
wireguard peer gnp5gW8pBQK2rA9ah1hiib1+3Jl218ZM8dBIjxxxx= !wg-home-client - ключ клиента
keepalive-interval 5 - указываем интервал проверки доступности удаленной стороны

указываем разрешенные адреса, подсети, с которых будет допущен трафик, в моем примере:

allow-ips 172.16.82.2 255.255.255.255 - удаленный адрес клиента 
allow-ips 192.168.11.0 255.255.255.0 - удаленная сеть клиента

image.png

WG-Client:

!
interface Wireguard2
    description wg-home-client
    security-level public
    ip address 172.16.82.2 255.255.255.0
    ip access-group _WEBADMIN_Wireguard2 in
    ip tcp adjust-mss pmtu
    wireguard peer 1YVx+x3C817V9YdhUtpUhzyDLVj5tnK2m//xxxxx= !wg-server
        endpoint 193.0.174.xxx:16631
        keepalive-interval 3
        allow-ips 172.16.82.1 255.255.255.255
        allow-ips 192.168.2.0 255.255.255.0
    !
    up

где:

172.16.82.0/24 - адресация внутри туннеля, соответственно на концах туннеля будут адреса 172.168.82.1 и 172.16.82.2

ip address 172.16.82.2 255.255.255.0 - внутренний адрес туннеля клиента
wireguard peer 1YVx+x3C817V9YdhUtpUhzyDLVj5tnK2m//xxxxx= !wg-server - ключ сервера
endpoint 193.0.174.xxx:16631 - публичный адрес сервера
keepalive-interval 3 -  указываем интервал проверки доступности сервера

указываем разрешенные адреса, подсети, с которых будет допущен трафик, в моем примере:

allow-ips 172.16.82.1 255.255.255.255 - удаленный адрес сервера
allow-ips 192.168.11.0 255.255.255.0 - удаленная сеть сервера

image.png

Настройка нетфильтра на стороне сервера для входящих соединений:

! 
access-list _WEBADMIN_Wireguard2
    permit ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0

image.png

Аналогичную настройку делаете и на клиенте.

Настройка маршрутизации на сервере до сети клиента:

 

ip route 192.168.11.0 255.255.255.0 Wireguard2 auto



image.png

Настройка маршрутизации на клиенте до сети сервера:
 

ip route 192.168.2.0 255.255.255.0 Wireguard2 auto

image.png

Важно! После настройки не забываем заново поднять туннели.

Проверяем:

Сервер:

image.png

Клиент:

image.png

Пингуем клиента со стороны сервера 192.168.2.1:

enpa@enpa:~$ ping 192.168.11.1 -c 10 -s 100
PING 192.168.11.1 (192.168.11.1) 100(128) bytes of data.
108 bytes from 192.168.11.1: icmp_seq=1 ttl=63 time=6.49 ms
108 bytes from 192.168.11.1: icmp_seq=2 ttl=63 time=7.31 ms
108 bytes from 192.168.11.1: icmp_seq=3 ttl=63 time=9.13 ms
108 bytes from 192.168.11.1: icmp_seq=4 ttl=63 time=6.51 ms
108 bytes from 192.168.11.1: icmp_seq=5 ttl=63 time=7.71 ms
108 bytes from 192.168.11.1: icmp_seq=6 ttl=63 time=6.76 ms
108 bytes from 192.168.11.1: icmp_seq=7 ttl=63 time=7.33 ms
108 bytes from 192.168.11.1: icmp_seq=8 ttl=63 time=6.24 ms
108 bytes from 192.168.11.1: icmp_seq=9 ttl=63 time=6.67 ms
108 bytes from 192.168.11.1: icmp_seq=10 ttl=63 time=6.02 ms

--- 192.168.11.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9015ms
rtt min/avg/max/mdev = 6.021/7.016/9.132/0.862 ms

Внутри туннеля, со стороны сервера 192.168.2.1, проверяем доступ по протоколу SMB на накопитель, который подключен к клиенту:
image.png


 

 

 

image.png

image.png

image.png

Edited by enpa
статьи
  • Thanks 2
  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

А можно для примера скриншоты выложить, а то уже всю голову сломал пытаясь связать 2 штуки KN-1810 между собой (может я что-то сам делаю не так...)?

Share this post


Link to post
Share on other sites
  • 0
2 минуты назад, Oleg Nekrylov сказал:

А можно для примера скриншоты выложить, а то уже всю голову сломал пытаясь связать 2 штуки KN-1810 между собой (может я что-то сам делаю не так...)?

Вы лучше свои выложите и вам подскажут что не так.

Share this post


Link to post
Share on other sites
  • 0
В 05.11.2019 в 18:24, Le ecureuil сказал:

Фильтр по 0.0.0.0 сделал.

3.3 Beta 1. Нулевой фильтр судя по всему не спасает. После отключения клиента сервер продолжает вызвать пира с адреса подключения.

21 час назад, r13 сказал:

Кстати, если на сервере не заполнять поле  "Проверка активности" что в общем то и правильно, пусть этим клиент занимается, то попытки соединиться прекращаются, и лог возвращается к нормальному состоянию.

Пришлось активность отключить. Теперь в логах чисто.

@enpa

Надо нормальный мануал по Wireguard в базу знаний писать и всех кто не в теме отправлять туда.

Share this post


Link to post
Share on other sites
  • 0

Спасибо всем! Заработало -  я олух, забыл про маршруты (а точнее не знал да забыл) 😀 Думал, что маршруты сами добавятся (по аналогии с L2TP/IPsec)

Share this post


Link to post
Share on other sites
  • 0
5 minutes ago, enpa said:

@Кинетиковод готовим, но пока нет в БЗ, краткий пример будет здесь (а почему бы и нет?).

И как по стабильности?) можно пользоваться, не боясь?😁

Share this post


Link to post
Share on other sites
  • 0
8 минут назад, enpa сказал:

краткий пример будет здесь (а почему бы и нет?)

Да я не против, просто с полноценным мануалом проще ссылку кинуть и всё. В вашем примере кстати используется платный VPN Client Pro, тогда как в маркете помимо родного бесплатного клиента есть ещё бесплатный Viscerion. Мануал лучше давать на примере бесплатных клиентов. В VPN Client Pro бесплатен только tun. 

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0
35 minutes ago, Кинетиковод said:

Да я не против, просто с полноценным мануалом проще ссылку кинуть и всё. В вашем примере кстати используется платный VPN Client Pro, тогда как в маркете помимо родного бесплатного клиента есть ещё бесплатный Viscerion. Мануал лучше давать на примере бесплатных клиентов. В VPN Client Pro бесплатен только tun.

соглашусь, выкладывать мануал со скринами платного VPN Client Pro  неэтично, я бы предпочёл видеть скрины из родного клиента

  • Upvote 1
  • Y'r wrong 1

Share this post


Link to post
Share on other sites
  • 0

Да вы товарищи зажрались. Человек набросал вам инструкцию которую многие так просили, а вы ещё копаетесь. Конфиг для клиента там есть. Используйте эту информацию в любом своем клиенте. Что было у человека под рукой, то и показал.

Официальный мануал наверное не ранее stable версии прошивки выйдет.

Edited by keenet07

Share this post


Link to post
Share on other sites
  • 0
2 minutes ago, keenet07 said:

Да вы товарищи зажрались. Человек набросал вам инструкцию которую все так просили, а вы ещё копаетесь. Конфиг для клиента там есть. Инспользуйте эту информацию в любом своем клиенте. Что было у человека под рукой, то и показал.

Официальный мануал наверное не ранее stable версии прошивки выйдет.

мы не просили, у нас уже всё работает, а в официальном мануале хотелось бы видеть настройки на базе бесплатного решения, я понимаю ещё с sstp - там без вариантов, но у вг как минимум есть родной клиент

Share this post


Link to post
Share on other sites
  • 0
1 час назад, Кинетиковод сказал:

Пришлось активность отключить. Теперь в логах чисто.

У меня норм, может у вас ip пиров не пустые?

Share this post


Link to post
Share on other sites
  • 0
21 минуту назад, keenet07 сказал:

Да вы товарищи зажрались. Человек набросал вам инструкцию которую многие так просили, а вы ещё копаетесь.

Те кто зажрались в инструкции не нуждаются, а категории юзеров "ни в зуб ногой" нужно давать максимально корректную инструкцию. Или вы им рекомендуете подписку оформить? 

3 минуты назад, r13 сказал:

У меня норм, может у вас ip пиров не пустые?

Пустые. Я так понял эти адреса имеет смысл указывать если они белые и с доступом к NAT для проброса порта. У меня таких пиров нет. Указаны лишь их локальные адреса в сети сервера..

Share this post


Link to post
Share on other sites
  • 0

Добавил примеры настройки WG-клиента для free приложения.
 

 

Share this post


Link to post
Share on other sites
  • 0

Не понял:

1) зачем указывать "interface Wireguard2 ip address" у сервера? Вроде параметр по спецификации wireguard не является обязательным? По крайней мере, у меня в OpenWrt работало без явного указания внутренних адресов пиров, таблица маршрутизации строилась с указанием название интерфейса.

2) "Порт прослушивания" надо на внешнем интерфейсе открывать, или он самостоятельно откроется?

3) что за "Разделяемый ключ", нужен ли он и как его генерировать?

4) совсем непонятки с явным указанием маршрутов между подсетями, wireguard вроде самостоятельно должен делать соответствующие маршруты на основании параметров "wireguard peer <xxx> allow-ips"

5) и совсем непонятно что делает "Использовать для входа в Интернет".

Вообще, в области wireguard стоит вообще отойти от разделения "сервер" и "клиент". Даже в самой спецификации говорится, что все пиры являются равнозначными, поэтому и называются просто "пиры". Просто некоторые пиры могут просто пассивно ждать подключения, а некоторые инициируют подключение. Пиры даже оба могут инициировать соединение, достаточно на обоих сторонах указать "Адрес и порт пира". Но всё равно с точки зрения wireguard это равноправные пиры, нет явного "сервера" и "клиента".

Edited by Alex M. Jake
  • Upvote 2

Share this post


Link to post
Share on other sites
  • 0
5 часов назад, Alex M. Jake сказал:

Не понял:

1) зачем указывать "interface Wireguard2 ip address" у сервера? Вроде параметр по спецификации wireguard не является обязательным? По крайней мере, у меня в OpenWrt работало без явного указания внутренних адресов пиров, таблица маршрутизации строилась с указанием название интерфейса.

2) "Порт прослушивания" надо на внешнем интерфейсе открывать, или он самостоятельно откроется?

3) что за "Разделяемый ключ", нужен ли он и как его генерировать?

4) совсем непонятки с явным указанием маршрутов между подсетями, wireguard вроде самостоятельно должен делать соответствующие маршруты на основании параметров "wireguard peer <xxx> allow-ips"

5) и совсем непонятно что делает "Использовать для входа в Интернет".

Вообще, в области wireguard стоит вообще отойти от разделения "сервер" и "клиент". Даже в самой спецификации говорится, что все пиры являются равнозначными, поэтому и называются просто "пиры". Просто некоторые пиры могут просто пассивно ждать подключения, а некоторые инициируют подключение. Пиры даже оба могут инициировать соединение, достаточно на обоих сторонах указать "Адрес и порт пира". Но всё равно с точки зрения wireguard это равноправные пиры, нет явного "сервера" и "клиента".

1) Так проще для массового юзера и траблшутинга.

2) Сам откроется.

3) Он в целом нужен если вы боитесь квантовых компьютеров. Генератор сделаем, пока можете просто любую 32-байтную случайную строку использовать в этом качестве.

4) Да, криптороутинг внутри работает, но сперва нужно отправить определенный трафик в интерфейс. И для интеграции с уже существующей моделью проще так. Рассмаривайте это как IPsec с интерфейсами.

5) Ставит security-level public и ip global на интерфейсе. Он после этого может использоваться как WAN.

 

У нас в web и нет явного указания на "клиент" и "сервер". Хотя, массам такая терминология ближе, чем "пассивный" и "активный" пир.

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

Спасибо, всё получилось! Успешно объединил Giga KN-1010 прошивка 3.3 Beta 1 и TP-Link TL-WDR4300 прошивка OpenWrt 19.07.0-rc1. Скорость, правда, не радует, ~20 Mbits/sec. Упирается в процессор в WDR4300, загрузка ~90% (на Гиге 12%).

Вопросы:

1) что ещё надо открывать в нетфильтре? Как минимум IP, и для диагностики ICMP?

2) если "сервер" меняет внешний ip, "клиент" резолвит ddns имя или продолжает долбиться по старому адресу? OpenWrt вроде не резолвит, а если на обоих концах стоят Кинетики?

Ну и пожелания:

3) сделать "Адрес" у "сервера" опциональным. Он не нужен.

4) добавить QR код настроек (на OpenWrt он генерируется с помощью qrencode).

5) вывести статус соединения на главную страницу.

6) у меня провайдер Гиге выдаёт ipv6, а на другом конце нет. Хотелось бы ipv6 завернуть в туннель и раздать хостам на другой стороне.

  • Upvote 2

Share this post


Link to post
Share on other sites
  • 0
14 часа назад, ZYX сказал:

Спасибо, всё получилось! Успешно объединил Giga KN-1010 прошивка 3.3 Beta 1 и TP-Link TL-WDR4300 прошивка OpenWrt 19.07.0-rc1. Скорость, правда, не радует, ~20 Mbits/sec. Упирается в процессор в WDR4300, загрузка ~90% (на Гиге 12%).

Вопросы:

1) что ещё надо открывать в нетфильтре? Как минимум IP, и для диагностики ICMP?

2) если "сервер" меняет внешний ip, "клиент" резолвит ddns имя или продолжает долбиться по старому адресу? OpenWrt вроде не резолвит, а если на обоих концах стоят Кинетики?

Ну и пожелания:

3) сделать "Адрес" у "сервера" опциональным. Он не нужен.

4) добавить QR код настроек (на OpenWrt он генерируется с помощью qrencode).

5) вывести статус соединения на главную страницу.

6) у меня провайдер Гиге выдаёт ipv6, а на другом конце нет. Хотелось бы ipv6 завернуть в туннель и раздать хостам на другой стороне.

1) не понял вопроса. Открывать снаружи ничего не надо, а на интерфейсе wg откройте то, что вам нужно.

2) резолвит если через 200 секунд нет ответа от peer
3) 4) 5) пока веб в доработке
6) IPv6 в версии 3.3 не планируется, потом.

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

Для wireguard возможно в ndm хуки сделать на события? Или он слишком примитивный сам по себе?

Share this post


Link to post
Share on other sites
  • 0
1 час назад, MercuryV сказал:

Для wireguard возможно в ndm хуки сделать на события? Или он слишком примитивный сам по себе?

Все хуки обычных интерфейсов там есть - он же обычный L3.

Нет только именно per-peer, но над этой штукой можно подумать - создавайте в пожеланиях тему.

Share this post


Link to post
Share on other sites
  • 0

Доброго времени суток! Помогите мне, пожалуйста. Настраиваю, вроде, по инструкции, но постоянно вылетает одна проблема: работает только один пир. Т.е. настраиваю сервер, добавляю пира- всё гуд. Как только добавляю ещё одного пира- первый теряет доступ, второй работает. Тоже самое, при добавлении следующего- последний работает, первые два нет. При этом в вэбморде показывает, что они подключены. Что я делаю не так? 40C93A0F-5D25-4453-A05F-AA050EDEAE16.thumb.png.abc12f65a5adfc7f7069a4b4c3f53550.png883DCC90-B35F-47B6-B228-24B382136BEC.thumb.jpeg.22b786d27721fc2a3cbc60558b4842b6.jpegD4715238-75E7-4144-9342-40808EAC7B7A.thumb.jpeg.79d42c37e701cf293dbd15a9d35953b3.jpeg
да, вот, например, настройки пира (iPad)

9D03C617-9A71-4CE6-AD4E-D3642CC96E21.thumb.jpeg.2d169b5b0bcaa96dcebf5bcd5d76f0bc.jpeg

Edited by Rodstvennik63

Share this post


Link to post
Share on other sites
  • 0
19 минут назад, keenet07 сказал:

Может попробовать задать пирам IP адреса?

Пробовал - не получается. Тогда вообще все пиры доступа не имеют) При этом, опять же, в вэбморде эти пиры светятся как подключенные

Share this post


Link to post
Share on other sites
  • 0

Еще один интересный момент: даже если отключить последнего пира и перезапустить сервер, то доступ ни на одном из предыдущих не появляется. Не могу понять, где накосячил?

P.S. В предыдущем сообщении немного ошибся - при явном указании ip адресов пиров, доступ так же есть только на последнем пире.

Edited by Rodstvennik63

Share this post


Link to post
Share on other sites
  • 0

@Rodstvennik63 Разрешенные подсети пиров на сервере не должны пересекаться, иначе wg не знает куда слать трафик. На сервере в разрешённых сетях укажите только конкретные 10.8.0.Х/32 назначенные пиру и так для всех пиров. 

Edited by r13

Share this post


Link to post
Share on other sites
  • 0
2 часа назад, r13 сказал:

@Rodstvennik63 Разрешенные подсети пиров на сервере не должны пересекаться, иначе wg не знает куда слать трафик. На сервере в разрешённых сетях укажите только конкретные 10.8.0.Х/32 назначенные пиру и так для всех пиров. 

Нигхт) не арбайтен. 
6093E9B6-DD14-4C9F-BD3E-7170D3E50B83.thumb.png.4ea20607129a51105811e3da7da12032.png56E1529B-28DF-4588-8748-8464CED9FFE8.thumb.png.5c933a6c652f81c3aeadc5b42d70a186.png

Share this post


Link to post
Share on other sites
  • 0

Текущие настройки?

Share this post


Link to post
Share on other sites
  • 0
interface Wireguard0
    description wg-home
    security-level public
    ip address 10.8.1.1 255.255.255.0
    ip access-group _WEBADMIN_Wireguard0 in
    ip tcp adjust-mss pmtu
    wireguard listen-port 16631
    wireguard peer 2HwgdRoZxJPa21Mr7vECiigTjxxxxxxxxxxxxxxxxxx= !wg-air
        endpoint 10.8.1.2
        keepalive-interval 25
        allow-ips 10.8.1.2 255.255.255.255
    !
    wireguard peer SQ++eykkl9EXPTvJVC3+xxxxxxxxxxxxxxxxxxxxxxx= !wg-iphonese
        endpoint 10.8.1.3
        keepalive-interval 25
        allow-ips 10.8.1.3 255.255.255.255
    !
    wireguard peer qxCcj5IOl7dzXl1LBJeVxxxxxxxxxxxxxxxxxxxxxxx= !wg-asus
        endpoint 10.8.1.4
        keepalive-interval 25
        allow-ips 10.8.1.4 255.255.255.255
    !

 

Share this post


Link to post
Share on other sites
  • 0

Endpoint адреса это адрес по которому строится туннель а не тот что внутри туннеля, удаляйте настройку endpoint, ну и security-level private сделайте у интерфейса. 

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0
4 минуты назад, r13 сказал:

Endpoint адреса это адрес по которому строится туннель а не тот что внутри туннеля, удаляйте настройку endpoint, ну и security-level private сделайте у интерфейса. 

Так их и не было изначально. Это если в вэбке прописать адрес пира, то и появляется endpoint. - это как мне советовали ранее, прописать ip пиров. Или, быть может, я неправильно понял? Просто тогда где ещё?) В настройках самих пиров ip прописаны. На счёт private сейчас попробую

Share this post


Link to post
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
Answer this question...

×   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...