Доступ в локальную сеть и в интернет через Wireguard для Keenetic.md
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
7d530dbc80
commit
6d259c4d1d
@ -10,7 +10,7 @@ linked:
|
|||||||
---
|
---
|
||||||
Хочу поделиться небольшой подборкой полезных плагинов, которые помогают мне ускорить и улучшить процесс написания кода.
|
Хочу поделиться небольшой подборкой полезных плагинов, которые помогают мне ускорить и улучшить процесс написания кода.
|
||||||
|
|
||||||
> [!SUCCESS]
|
> [!INFO]
|
||||||
> Все плагины актуальны для IntelliJ 2023.3.3
|
> Все плагины актуальны для IntelliJ 2023.3.3
|
||||||
## SonarLint
|
## SonarLint
|
||||||
SonarLint работает так же, как статический анализатор кода [SonarQube](https://www.sonarsource.com/products/sonarqube/). Он изучает ваш код в проекте и предлагает улучшения. Анализ происходит в процессе написания, так что ошибки можно будет исправить до коммита.
|
SonarLint работает так же, как статический анализатор кода [SonarQube](https://www.sonarsource.com/products/sonarqube/). Он изучает ваш код в проекте и предлагает улучшения. Анализ происходит в процессе написания, так что ошибки можно будет исправить до коммита.
|
||||||
|
@ -0,0 +1,157 @@
|
|||||||
|
---
|
||||||
|
aliases:
|
||||||
|
tags:
|
||||||
|
- maturity/🌱
|
||||||
|
date: 2024-09-08
|
||||||
|
zero-link:
|
||||||
|
- "[[../../meta/zero/00 Сети|00 Сети]]"
|
||||||
|
parents:
|
||||||
|
linked:
|
||||||
|
---
|
||||||
|
В данной заметке я расскажу, как организовать соединение с вашей локальной сетью за роутером Keenetic, если у вас уже настроен выход в интернет через WG сервер с роутера и телефона.
|
||||||
|
|
||||||
|
Благодаря VPN файлы из моей домашней сети всегда доступны, где бы я не был.
|
||||||
|
|
||||||
|
Как я уже говорил у вас уже должен быть настроен Wireguard сервер, роутер и телефон должны выходить через этот сервер в интернет. Я же расскажу, как с телефона попасть в локальную сеть за роутером с использованием Wireguard, и при этом не потерять VPN выход в интернет. Для этого нужно будет использовать консоль роутера Keenetic.
|
||||||
|
## Настройка Keenetic
|
||||||
|
Если доступа в консоль нет, то его надо включить. Для этого перейдите в раздел “Управление” -> “Пользователи и доступ”. Проверьте что установлен порт управления по SSH и активирован пункт “Подключения к командной строке по SSH”.
|
||||||
|
|
||||||
|
![](../../meta/files/images/Pasted%20image%2020240908111536.png)
|
||||||
|
|
||||||
|
Также убедитесь, что у вас есть пользователь, у которого есть права входа через SSH. На той же странице у вас есть список пользователей. Зайдите в редактор прав пользователя, и убедитесь что у него активирован пункт “Доступ к командной строке (TELNET и SSH)”.
|
||||||
|
|
||||||
|
![](../../meta/files/images/Pasted%20image%2020240908111551.png)
|
||||||
|
|
||||||
|
Теперь заходим в консоль управления роутером.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
ssh username@192.168.0.1
|
||||||
|
(config)>
|
||||||
|
```
|
||||||
|
|
||||||
|
Первым делом нам надо узнать, какой интерфейс был присвоен нашему соединению на роутере. Если это ваше первое соединение с Wireguard, то скорее всего это Wireguard0. Но давайте убедимся в этом.
|
||||||
|
|
||||||
|
Для этого необходимо ввести `interface Wire` и нажать `Tab`:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
(config)> interface Wire
|
||||||
|
|
||||||
|
Usage template:
|
||||||
|
interface {name}
|
||||||
|
|
||||||
|
Choose:
|
||||||
|
Wireguard
|
||||||
|
Wireguard0
|
||||||
|
```
|
||||||
|
|
||||||
|
Чтобы точно убедиться выведите информацию об интерфейса.
|
||||||
|
|
||||||
|
```shell {6,13}
|
||||||
|
(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
|
||||||
|
```
|
||||||
|
|
||||||
|
По названию и адресу понимаем, что это нужное соединение.
|
||||||
|
|
||||||
|
![](../../meta/files/images/Pasted%20image%2020240908112035.png)
|
||||||
|
|
||||||
|
Нужно добавить правило на IN, иначе запросы в локальную сеть будут дропаться. Не забудьте заменить `Wireguard0` на другое значение, если у вас задействован другой интерфейс.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
(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.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
(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.
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!DANGER]
|
||||||
|
> Не забудьте заменить значения на свои. `10.66.67.0` на свою подсеть Wireguard, а `Wireguard0` на свой интерфейс.
|
||||||
|
## Настройка сервера WG
|
||||||
|
Теперь нужно настроить сервер Wireguard. Для этого нужно отредактировать файл конфигурации, обычно он лежит в папке `/etc/wireguard/wg0.conf`. Зайдите под root.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
su
|
||||||
|
nano /etc/wireguard/wg0.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[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 соединение.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
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. По аналогии можно настроить доступ к локальной сети для остальных устройств.
|
BIN
meta/files/images/Pasted image 20240908111536.png
Normal file
BIN
meta/files/images/Pasted image 20240908111536.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 522 KiB |
BIN
meta/files/images/Pasted image 20240908111551.png
Normal file
BIN
meta/files/images/Pasted image 20240908111551.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 536 KiB |
BIN
meta/files/images/Pasted image 20240908112035.png
Normal file
BIN
meta/files/images/Pasted image 20240908112035.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 396 KiB |
7
meta/zero/00 Сети.md
Normal file
7
meta/zero/00 Сети.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
tags:
|
||||||
|
- type/zero-link
|
||||||
|
title: Сети
|
||||||
|
zero-link:
|
||||||
|
- "[[00 Разработка]]"
|
||||||
|
---
|
Loading…
Reference in New Issue
Block a user