Доступ в локальную сеть и в интернет через Wireguard для Keenetic |
Доступ в локальную сеть и в интернет через Wireguard для Keenetic
Доступ в локальную сеть и в интернет через Wireguard для Keenetic
Доступ в локальную сеть и в интернет через Wireguard для Keenetic, Доступ в локальную сеть и в интернет через Wireguard для Keenetic Настройка Wireguard для Keenetic для одновременного доступа в локальную сеть и в интернет через VPN.
В данной заметке я расскажу, как организовать соединение с вашей локальной сетью за роутером Keenetic, если у вас уже настроен выход в интернет через WG сервер с роутера и телефона.
Использование VPN сегодня это такая же необходимость, как установка сложных уникальных паролей и двухфакторная авторизация. Для меня отсутствие VPN - это как уйти из дома и не закрыть на ключ дверь.
Помимо защиты ваших интернет соединений VPN может обеспечить соединение с вашей домашней сетью. Таким образом я организую свое небольшое облако. Файлы из моей домашней сети всегда доступны, где бы я не был.
Как я уже говорил у вас уже должен быть настроен Wireguard сервер, роутер и телефон должны выходить через этот сервер в интернет. Я же расскажу, как с телефона попасть в локальную сеть за роутером с использованием Wireguard, и при этом не потерять VPN выход в интернет. Для этого нужно будет использовать консоль роутера Keenetic.
Настройка Keenetic
Если доступа в консоль нет, то его надо включить. Для этого перейдите в раздел “Управление” -> “Пользователи и доступ”. Проверьте что установлен порт управления по SSH и активирован пункт “Подключения к командной строке по SSH”.
Также убедитесь, что у вас есть пользователь, у которого есть права входа через SSH. На той же странице у вас есть список пользователей. Зайдите в редактор прав пользователя, и убедитесь что у него активирован пункт “Доступ к командной строке (TELNET и SSH)”.
Теперь заходим в консоль управления роутером.
ssh username@192.168.0.1 (config)> Первым делом нам надо узнать, какой интерфейс был присвоен нашему соединению на роутере. Если это ваше первое соединение с Wireguard, то скорее всего это Wireguard0. Но давайте убедимся в этом.
Для этого необходимо ввести interface Wire и нажать Tab:
(config)> interface Wire
Usage template: interface {name}
Choose: Wireguard Wireguard0 Чтобы точно убедиться выведите информацию об интерфейса.
(config)> show interface Wireguard0
id: Wireguard0 index: 1 type: Wireguard description: vpn-example interface-name: Wireguard0 link: up connected: yes state: up mtu: 1324 tx-queue-length: 50 address: 10.66.67.2 mask: 255.255.255.255 uptime: 5 global: no security-level: public
wireguard: public-key: PUBLIC_KEY listen-port: 48951 status: up
peer: public-key: PUBLIC_KEY local: 37.112.97.194 local-port: 48951 via: PPPoE0 remote: 3.64.232.61 remote-port: 54161 rxbytes: 92 txbytes: 180 last-handshake: 5 online: yes По названию и адресу понимаем, что это нужное соединение.
Нужно добавить правило на IN, иначе запросы в локальную сеть будут дропаться. Не забудьте заменить Wireguard0 на другое значение, если у вас задействован другой интерфейс.
(config)> interface Wireguard0 Core::Configurator: Done. (config-if)> ip access-group _WEBADMIN_Wireguard0 in Network::Acl: Input "_WEBADMIN_Wireguard0" access list added to "Wireguard0". (config-if)> system configuration save Core::ConfigurationSaver: Saving configuration... Теперь надо добавить статический маршрут до сети Wireguard.
(config)> ip route 10.66.67.0 255.255.255.0 Wireguard0 auto Network::RoutingTable: Added static route: 10.66.67.0/24 via Wireguard0. Не забудьте заменить значения на свои. 10.66.67.0 на свою подсеть Wireguard, а Wireguard0 на свой интерфейс.
Настройка сервера WG Теперь нужно настроить сервер Wireguard. Для этого нужно отредактировать файл конфигурации, обычно он лежит в папке /etc/wireguard/wg0.conf. Зайдите под root.
su nano /etc/wireguard/wg0.conf [Interface] Address = 10.66.67.1/24,fd42:42:43::1/64 ListenPort = 54161 PrivateKey = PRIVATE_KEY PostUp = iptables -A FORWARD -i eth0 -o wg0 -j ACCEPT; iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables $ PostDown = iptables -D FORWARD -i eth0 -o wg0 -j ACCEPT; iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6table$
### Client router [Peer] PublicKey = PUBLIC_KEY PresharedKey = PRESHARED_KEY AllowedIPs = 10.66.67.2/32,fd42:42:43::2/128,192.168.1.0/24
### Client phone [Peer] PublicKey = PUBLIC_KEY PresharedKey = PRESHARED_KEY AllowedIPs = 10.66.67.3/32,fd42:42:43::3/128 У нас тут все стандартно. Два пира, один из них роутер, второй телефон. Для роутера необходимо указать в AllowedIPs вашу локальную сеть, в данном случае 192.168.1.0/24.
После этого отключим и включим WG соединение.
wg-quick down wg0 [#] ip link delete dev wg0 [#] iptables -D FORWARD -i eth0 -o wg0 -j ACCEPT; iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE wg-quick up wg0 [#] ip link add wg0 type wireguard [#] wg setconf wg0 /dev/fd/63 [#] ip -4 address add 10.66.67.1/24 dev wg0 [#] ip -6 address add fd42:42:43::1/64 dev wg0 [#] ip link set mtu 8921 up dev wg0 [#] ip -4 route add 192.168.0.0/24 dev wg0 [#] iptables -A FORWARD -i eth0 -o wg0 -j ACCEPT; iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE После этого у вас должен появится доступ к локальной сети роутера с телефона через Wireguard VPN. По аналогии можно настроить доступ к локальной сети для остальных устройств.
|
Категория: Разное |
Просмотров: 47 |
Добавил: Админ
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|
Воскресенье, 19.05.2024, 18:24
Календарь
« Ноябрь 2023 » | Пн | Вт | Ср | Чт | Пт | Сб | Вс | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
Статистика
Онлайн всего: 1 Гостей: 1 Пользователей: 0
|