Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Добрый день!

1. На моем keenetic viva 1910 есть рабочий VPN туннель WireGuard до сервера в Германии, прописаны некоторые маршруты что бы определённый трафик шел через этот туннель. Мой кинетик выступает клиентом в данном случае. 

2. Теперь мне нужно поднять WG сервер на этом же кинетике, подключить к нему несколько смартфонов, и заставить весь их трафик идти через туннель WG из первого пункта, без доступа к домашней сети.

Сервер я создал, сделал тестовый пир, соединение успешно, обмены килобайтами пошли, но после подключения на смартфоне есть доступ только к домашней сети, а в интернет доступа нет. А хотелось в точности наоборот)

немного сведений о настройках:

в интерфейсе сервера WG - DNSы я указал (8.8.8.8, 1.1.1.1)

в настройках пира на сервере WG в разрешённых подсетях я указал 0.0.0.0/0

в интерфейсе клиента WG на смартфоне DNSы я указал (8.8.8.8, 1.1.1.1)

в настройках пира клиента WG на смартфоне в разрешённых подсетях я указал 0.0.0.0/0

в Web Cli кинетика следующие команды я выполнил:
interface Wireguard0 security-level private
ip nat Wireguard0
system configuration save

выполнились корректно и без ошибок.

Для пущей надежности в межсетевом экране кинетика, для интерфейса WG сервера я разрешил все TCP любых портов и назначений.

Что я делаю не так? Или такая схема невозможна?

PS перед этим экспериментом я сначала настроил IKEv2 vpn сервер, подключился с мобилки, и получил примерно то, что хотел: интернет есть, маршрутизация работает, все ок. Но мне хочется настроить именно WG сервер, потому что он умеет удобно настраиваться на мобилках по QR коду, а не вручную.

 

 

 

 

 

Опубликовано
11 час назад, nikomx сказал:

1. На моем keenetic viva 1910 есть рабочий VPN туннель WireGuard до сервера в Германии, прописаны некоторые маршруты что бы определённый трафик шел через этот туннель. Мой кинетик выступает клиентом в данном случае. 

2. Теперь мне нужно поднять WG сервер на этом же кинетике, подключить к нему несколько смартфонов, и заставить весь их трафик идти через туннель WG из первого пункта, без доступа к домашней сети.

в Web Cli кинетика следующие команды я выполнил:
interface Wireguard0 security-level private
ip nat Wireguard0
system configuration save

Что я делаю не так? Или такая схема невозможна?

Где в нескольких местах уже описывал вариант как удаленного клиента завернуть в VPN канал для выхода в интернет. Опишу еще раз может что-то вам подойдет, вариант на базе профилей так как не хорошо когда все в основном профиле, легко запутаться.

1. На роутере есть поднят WARP (у вас WireGuard до сервера в Германии), можно в место WARP заменить на WireGuard до сервера в Нидерландах роли не играет.

2. Создан профиль WARP и в нем только один канал WG активен (ремарка для данного профиля маркировка пакетов будет только тогда и тогда когда появиться живой клиент в данном профиле, т.е. не помещен в него через WEB а когда сработает arp на нем и он будет добавлен в таблицу arp, но нам маркировка не нужна а нужна таблица для данного профиля а она будет создана table)

3. Так как белый адрес на роутер то поднят сервер WG (хотя так же описывал когда и серый и поднят SSTP сервер и подключается клиент) роли не играет.

4. На клиенте смартофоне поднят WG или для SSTP Max (привязка user к IP)

5. После того как все будет настроено, клиент может спокойно подключиться то на что стоит обратить внимание :

- по умолчанию для данного клиента будет маршрутизация через основной прояфиль (т.е. default маршрут для данного профиля согласно приоритетам и галкам на нужных интерфейсах на странице WEB)

- для созданного профиля будет созданна своя таблица маршрутизации и в которой будет свой deafult на нужный интерфейс, в данном случае это п.2

6. Теперь осталось завернуть данного клиента смартфон п.4 в данную таблицу маршрутизации.

- по умолчанию в ПО роутера первый профиль получает номер table 42, следующий 43, следующий 44 и т.д.

- в данном случае WARP профиль имеет table 42

- поместить смартфон в нужную table 42

Клиент удаленно подключился по WG к роутеру 
10.16.130.6 dev nwg3  scope link 

Для него пока существует профиль по умолчанию основной
~ # ip ro
default dev ppp0  scope link 
...10.16.130.0/24 dev nwg3  proto kernel  scope link  src 10.16.130.101 
10.16.130.6 dev nwg3  scope link 
...
т.е. выход для него через провайдера ppp0, легко проверяеться speedtest - адрес будет стоять от интерфеса ppp0

Сменим ему выход на наш профиль WARP в котором 
~ # ip ro show table 42
default dev nwg0  scope link
...

выполнив команду 
ip rule add from 10.16.130.6 table 42
выход для него теперь через профиль WARP, легко проверяеться speedtest - адрес будет стоять от интерфеса ppp0

При отключение данного клиента и заново подключение все так же работает.

В настоящее время одну единственную команду приходиться вводить через Entware - "ip rule add"

Скрытый текст
Сервер WG на роутере и два клиента на нем 

access-list _WEBADMIN_Wireguard3
    permit ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
    permit description WG
    auto-delete

interface Wireguard3
    description WG
    security-level private
    ip address 10.16.130.101 255.255.255.0 - сервер WG
    ip mtu 1324
    ip access-group _WEBADMIN_Wireguard3 in
    ip global 6553
    ip tcp adjust-mss pmtu
    wireguard listen-port хххх
    wireguard peer Z8c......DMdnbTY= !AAA
        endpoint 10.16.130.6:хххх
        keepalive-interval 30
        allow-ips 10.16.130.6 255.255.255.255 - клиент 
        allow-ips 192.168.130.0 255.255.255.0 - сеть роутера
        allow-ips 0.0.0.0 0.0.0.0 - все
    !
    wireguard peer y09.....gQjHJMCA= !TTT
        endpoint 10.16.130.18:xxxx
        keepalive-interval 30
        allow-ips 10.16.130.0 255.255.255.0
        allow-ips 192.168.130.0 255.255.255.0
        allow-ips 0.0.0.0 0.0.0.0
    !
    up

isolate-private

Сам WARP
interface Wireguard0
    description Cloud-warp
    security-level public
...

access-list _WEBADMIN_Wireguard0
    permit udp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
    permit description Warp-UDP
    permit tcp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
    permit description Warp-TCP

 

 

Опубликовано
14 часа назад, nikomx сказал:

Добрый день!

1. На моем keenetic viva 1910 есть рабочий VPN туннель WireGuard до сервера в Германии, прописаны некоторые маршруты что бы определённый трафик шел через этот туннель. Мой кинетик выступает клиентом в данном случае. 

2. Теперь мне нужно поднять WG сервер на этом же кинетике, подключить к нему несколько смартфонов, и заставить весь их трафик идти через туннель WG из первого пункта, без доступа к домашней сети.

Сервер я создал, сделал тестовый пир, соединение успешно, обмены килобайтами пошли, но после подключения на смартфоне есть доступ только к домашней сети, а в интернет доступа нет. А хотелось в точности наоборот)

немного сведений о настройках:

в интерфейсе сервера WG - DNSы я указал (8.8.8.8, 1.1.1.1)

в настройках пира на сервере WG в разрешённых подсетях я указал 0.0.0.0/0

в интерфейсе клиента WG на смартфоне DNSы я указал (8.8.8.8, 1.1.1.1)

в настройках пира клиента WG на смартфоне в разрешённых подсетях я указал 0.0.0.0/0

в Web Cli кинетика следующие команды я выполнил:
interface Wireguard0 security-level private
ip nat Wireguard0
system configuration save

выполнились корректно и без ошибок.

Для пущей надежности в межсетевом экране кинетика, для интерфейса WG сервера я разрешил все TCP любых портов и назначений.

Что я делаю не так? Или такая схема невозможна?

PS перед этим экспериментом я сначала настроил IKEv2 vpn сервер, подключился с мобилки, и получил примерно то, что хотел: интернет есть, маршрутизация работает, все ок. Но мне хочется настроить именно WG сервер, потому что он умеет удобно настраиваться на мобилках по QR коду, а не вручную.

 

 

 

 

 

Скорее всего не на том интерфейсе ip nat прописан. 

Опубликовано
2 минуты назад, Denis P сказал:

Скорее всего не на том интерфейсе ip nat прописан. 

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

Но спасибо за версию)

Опубликовано
2 часа назад, vasek00 сказал:

Где в нескольких местах уже описывал вариант как удаленного клиента завернуть в VPN канал для выхода в интернет. Опишу еще раз может что-то вам подойдет, вариант на базе профилей так как не хорошо когда все в основном профиле, легко запутаться.

1. На роутере есть поднят WARP (у вас WireGuard до сервера в Германии), можно в место WARP заменить на WireGuard до сервера в Нидерландах роли не играет.

2. Создан профиль WARP и в нем только один канал WG активен (ремарка для данного профиля маркировка пакетов будет только тогда и тогда когда появиться живой клиент в данном профиле, т.е. не помещен в него через WEB а когда сработает arp на нем и он будет добавлен в таблицу arp, но нам маркировка не нужна а нужна таблица для данного профиля а она будет создана table)

3. Так как белый адрес на роутер то поднят сервер WG (хотя так же описывал когда и серый и поднят SSTP сервер и подключается клиент) роли не играет.

4. На клиенте смартофоне поднят WG или для SSTP Max (привязка user к IP)

5. После того как все будет настроено, клиент может спокойно подключиться то на что стоит обратить внимание :

- по умолчанию для данного клиента будет маршрутизация через основной прояфиль (т.е. default маршрут для данного профиля согласно приоритетам и галкам на нужных интерфейсах на странице WEB)

- для созданного профиля будет созданна своя таблица маршрутизации и в которой будет свой deafult на нужный интерфейс, в данном случае это п.2

6. Теперь осталось завернуть данного клиента смартфон п.4 в данную таблицу маршрутизации.

- по умолчанию в ПО роутера первый профиль получает номер table 42, следующий 43, следующий 44 и т.д.

- в данном случае WARP профиль имеет table 42

- поместить смартфон в нужную table 42

Клиент удаленно подключился по WG к роутеру 
10.16.130.6 dev nwg3  scope link 

Для него пока существует профиль по умолчанию основной
~ # ip ro
default dev ppp0  scope link 
...10.16.130.0/24 dev nwg3  proto kernel  scope link  src 10.16.130.101 
10.16.130.6 dev nwg3  scope link 
...
т.е. выход для него через провайдера ppp0, легко проверяеться speedtest - адрес будет стоять от интерфеса ppp0

Сменим ему выход на наш профиль WARP в котором 
~ # ip ro show table 42
default dev nwg0  scope link
...

выполнив команду 
ip rule add from 10.16.130.6 table 42
выход для него теперь через профиль WARP, легко проверяеться speedtest - адрес будет стоять от интерфеса ppp0

При отключение данного клиента и заново подключение все так же работает.

В настоящее время одну единственную команду приходиться вводить через Entware - "ip rule add"

  Показать содержимое
Сервер WG на роутере и два клиента на нем 

access-list _WEBADMIN_Wireguard3
    permit ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
    permit description WG
    auto-delete

interface Wireguard3
    description WG
    security-level private
    ip address 10.16.130.101 255.255.255.0 - сервер WG
    ip mtu 1324
    ip access-group _WEBADMIN_Wireguard3 in
    ip global 6553
    ip tcp adjust-mss pmtu
    wireguard listen-port хххх
    wireguard peer Z8c......DMdnbTY= !AAA
        endpoint 10.16.130.6:хххх
        keepalive-interval 30
        allow-ips 10.16.130.6 255.255.255.255 - клиент 
        allow-ips 192.168.130.0 255.255.255.0 - сеть роутера
        allow-ips 0.0.0.0 0.0.0.0 - все
    !
    wireguard peer y09.....gQjHJMCA= !TTT
        endpoint 10.16.130.18:xxxx
        keepalive-interval 30
        allow-ips 10.16.130.0 255.255.255.0
        allow-ips 192.168.130.0 255.255.255.0
        allow-ips 0.0.0.0 0.0.0.0
    !
    up

isolate-private

Сам WARP
interface Wireguard0
    description Cloud-warp
    security-level public
...

access-list _WEBADMIN_Wireguard0
    permit udp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
    permit description Warp-UDP
    permit tcp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
    permit description Warp-TCP

 

 

Я, к сожалению, почти ничего не понял из вышесказанного. Тяжелый слог для меня.

Опубликовано
24 минуты назад, nikomx сказал:

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

Но спасибо за версию)

может это как-то поможет? 

        "Wireguard0": {
            "id": "Wireguard0",
            "index": 0,
            "interface-name": "Wireguard0",
            "type": "Wireguard",
            "description": "WG-S",
            "traits": [
                "Ip",
                "Wireguard"
            ],
            "link": "down",
            "connected": "no",
            "state": "up",
            "mtu": 1280,
            "tx-queue-length": 50,
            "address": "172.16.82.1",
            "mask": "255.255.255.255",
            "uptime": 246,
            "global": false,
            "security-level": "private",
            "wireguard": {
                "public-key": "4iYxjfTD.............Kbd0o=",
                "listen-port": *****,
                "status": "up",
                "peer": [
                    {
                        "public-key": "Cge4g9L.............iuk3AgI=",
                        "local": "10.195.30.225",
                        "local-port": *****,
                        "via": "Wireguard2",
                        "remote": "172.16.82.7",
                        "remote-port": 0,
                        "rxbytes": 39704,
                        "txbytes": 2556,
                        "last-handshake": 210,
                        "online": false
                    }
                ]
            }
        },
        "Wireguard2": {
            "id": "Wireguard2",
            "index": 2,
            "interface-name": "Wireguard2",
            "type": "Wireguard",
            "description": "WARP",
            "traits": [
                "Ip",
                "Wireguard"
            ],
            "link": "up",
            "connected": "yes",
            "state": "up",
            "mtu": 1324,
            "tx-queue-length": 50,
            "address": "10.195.30.225",
            "mask": "255.192.0.0",
            "uptime": 2135,
            "global": true,
            "defaultgw": false,
            "priority": 32766,
            "security-level": "public",
            "wireguard": {
                "public-key": "n+wrnC............IwYRiA=",
                "listen-port": 4****,
                "status": "up",
                "peer": [
                    {
                        "public-key": "dG0Ss......../gNk8=",
                        "local": "8*.***.***.**2",
                        "local-port": 4****,
                        "via": "PPPoE0",
                        "remote": "1**.***.***.**0",
                        "remote-port": 6****,
                        "rxbytes": 17159964,
                        "txbytes": 604356,
                        "last-handshake": 120,
                        "online": true
                    }
                ]
            }
        }
    },
    "prompt": "(config)"
}

Опубликовано (изменено)
1 час назад, nikomx сказал:

Я, к сожалению, почти ничего не понял из вышесказанного. Тяжелый слог для меня.

Хорошо можно проще.

1. Wireguard клиент уже настроен и работает.

2. Wireguard сервер для удаленных клиентов поднят (нужен белый IP если нет то например SSTP) настроен и работает.

3. Создать профиль и поместить в него канал п.1

4. Прописать одну команду для клиента из п.2

ip rule add from IP table ПРОФИЛЯ

 

Изменено пользователем vasek00
Опубликовано
8 минут назад, vasek00 сказал:

Хорошо можно проще.

1. Wireguard клиент уже настроен и работает.

2. Wireguard сервер для удаленных клиентов поднят (нужен белый IP если нет то например SSTP)

3. Создать профиль и поместить в него канал п.1

4. Прописать одну команду для клиента из п.2

 

1. Да, клиента настроен и работает давно, к нему вопросов нет. Настройки интерфейса есть выше. Он называется WARP

2. Настроен, но судя по всему как-то не правильно. Я подключаюсь со смартфона, но почему-то пинги до ip сервера WG со смартфона то идут, то не идут. И в любом случае кроме пингов никуда доступа нет, ни к домашней сети ни в интернет. Провайдера у меня два, оба с белыми ip.

3. Канал из п1 я положил в профиль под названием немеция, если мы говорим про профили в приоритетах подключения. В этот профиль добавил гостевую сеть (в ней все равно никого пока нет)

4. О какой еще команде идет речь? Её можно прописать из WEB Cli интерфейса? Можете пожалуйста поподробнее этот пункт объяснить, буду очень благодарен )

Опубликовано
21 минуту назад, nikomx сказал:

4. О какой еще команде идет речь? Её можно прописать из WEB Cli интерфейса? Можете пожалуйста поподробнее этот пункт объяснить, буду очень благодарен )

Пуск-выполнить-cmd-telnet 192.168.1.1-admin/pass

ip rule add from IP table name profile
Опубликовано (изменено)
1 час назад, nikomx сказал:

2. Настроен, но судя по всему как-то не правильно. Я подключаюсь со смартфона, но почему-то пинги до ip сервера WG со смартфона то идут, то не идут. И в любом случае кроме пингов никуда доступа нет, ни к домашней сети ни в интернет. Провайдера у меня два, оба с белыми ip.

В настройках есть поле разрешенные подсети. По конфигу они например выглядят так

allow-ips 10.16.130.6 255.255.255.255 - клиент 
allow-ips 192.168.130.0 255.255.255.0 - сеть роутера
allow-ips 0.0.0.0 0.0.0.0 - все

Возьмите в базе знаний любую статью про Wireguard настройку и про значение данных полей - allow-ips

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

4. О какой еще команде идет речь? Её можно прописать из WEB Cli интерфейса?

Об одной единственной команде которую нужна для всего этого ее в WEB cli не прописать. Об этом было сказано в моем самом первом посту

В настоящее время одну единственную команду приходиться вводить через Entware - "ip rule add"

Выход из этого самый простой у вас KN1910 на нем легко ставится Entware во внутреннюю память пример с KN1910 ниже

Скрытый текст
KeeneticOS version 4.00.A.4.0-0, copyright (c) 2010-2023 Keenetic Ltd.

Login: admin
Password: ********

THIS SOFTWARE IS A SUBJECT OF KEENETIC LIMITED END-USER LICENCE AGREEMENT. BY USING IT YOU AGREE ON TERMS AND CONDITIONS HEREOF. FOR MORE INFORMATION PLEASE
CHECK https://keenetic.com/legal

(config)> exec sh


BusyBox v1.33.1 (2021-08-22 06:41:01 UTC) built-in shell (ash)

/ # df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                19712     19712         0 100% /
tmpfs                    62320         0     62320   0% /dev
tmpfs                    62320       240     62080   0% /tmp
/dev/ubi0_0              56540     33644     19972  63% /storage
/dev/ubi0_0              56540     33644     19972  63% /opt
/ # 

Как видно выше Entware (/opt) занимает всего то 33644 или 33МB (с учетом того что мне необходимо). После установки Entware тут на форуме описано как его установить, добавить/выполнить потом

opkg install ip-bridge ip-full

После чего нужную выполнить ОДНУ ЕДИНСТВЕННУЮ

ip rule add from IP_Клиента table profile_номер_table

где IP_Клиента - это берется из настроек Wireguard сервера для данного клиента, а profile_номер_teble это номер таблицы для вашего профиля (как его найти написано было ранее, без всяких команд)

Цитата

- по умолчанию в ПО роутера первый профиль получает номер table 42, следующий 43, следующий 44 и т.д.

 

Изменено пользователем vasek00
Опубликовано
2 часа назад, vasek00 сказал:

Об одной единственной команде которую нужна для всего этого ее в WEB cli не прописать. Об этом было сказано в моем самом первом посту

В настоящее время одну единственную команду приходиться вводить через Entware - "ip rule add"

Выход из этого самый простой у вас KN1910 на нем легко ставится Entware во внутреннюю память пример с KN1910 ниже

Спасибо Вам большое за терпение и отзывчивость. Простите мое скудоумие в данном вопросе.

У меня все получилось, работает! 

Осталось немного дошлифовать все до идеала.
Проверив, я выяснил, что у меня всего 2 таблицы, 42 и 43 на роутере. 43 как раз с нужным шлюзом, и я прописал маршрут в 43 таблицу, но так же в неё попали почему-то маршруты созданные ранее через web интерфейс, в том числе и openVPN маршруты до моей работы, не хотелось бы что бы они работали для клиентов WG сервера.
Поэтому, подскажите еще, пожалуйста, какой командой можно создать пустую таблицу маршрутизации и прописать основной шлюз в ней nwg2? (что бы затем в неё добавить маршрут для клиентов WG сервера)
Ну и следовательно как удалить прописанный ранее маршрут в 43 таблицу?

Опубликовано
2 часа назад, nikomx сказал:

Спасибо Вам большое за терпение и отзывчивость. Простите мое скудоумие в данном вопросе.

У меня все получилось, работает! 

Осталось немного дошлифовать все до идеала.
Проверив, я выяснил, что у меня всего 2 таблицы, 42 и 43 на роутере. 43 как раз с нужным шлюзом, и я прописал маршрут в 43 таблицу, но так же в неё попали почему-то маршруты созданные ранее через web интерфейс, в том числе и openVPN маршруты до моей работы, не хотелось бы что бы они работали для клиентов WG сервера.
Поэтому, подскажите еще, пожалуйста, какой командой можно создать пустую таблицу маршрутизации и прописать основной шлюз в ней nwg2? (что бы затем в неё добавить маршрут для клиентов WG сервера)
Ну и следовательно как удалить прописанный ранее маршрут в 43 таблицу?

Удалить ранее прописанный в table просто поставить del в место aďd. Я не в курсе что и как и где вы  создавали. По пробуйте дошлифовать так как вам надо, может пересмотрев все настройки заново.

В описанном методе она таблица создается и контролируется ПО роутера, если хотите создавать сами и контролировать ее то тут на форуме куча примеров достаточно в поиске поискать по "ip rule add"

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.