mirror of
https://github.com/bol-van/zapret.git
synced 2025-04-19 05:22:58 +03:00
wg docs : add masquerade to server
This commit is contained in:
parent
b9669f1309
commit
bb390921cb
@ -9,15 +9,15 @@
|
|||||||
и если для PC оно может быть не так актуально, для soho роутеров - более чем.
|
и если для PC оно может быть не так актуально, для soho роутеров - более чем.
|
||||||
Wireguard может дать 50 mbps там, где openvpn еле тащит 10.
|
Wireguard может дать 50 mbps там, где openvpn еле тащит 10.
|
||||||
Другая важная особенность - затрудненное обнаружение протокола системами DPI.
|
Другая важная особенность - затрудненное обнаружение протокола системами DPI.
|
||||||
Но есть и дополнительное требование. Wireguard работает в ядре, значит ядро должно
|
Но есть и дополнительное требование. Wireguard работает в ядре, значит ядро должно
|
||||||
быть под вашим контролем. vps на базе openvz не подойдет ! Нужен xen, kvm,
|
быть под вашим контролем. vps на базе openvz не подойдет ! Нужен xen, kvm,
|
||||||
любой другой вариант, где загружается ваше собственное ядро, а не используется
|
любой другой вариант, где загружается ваше собственное ядро, а не используется
|
||||||
общее, разделяемое на множество vps. В openvz вам никто не даст лезть в ядро.
|
общее, разделяемое на множество vps. В openvz вам никто не даст лезть в ядро.
|
||||||
|
|
||||||
Понятийно необходимо выполнить следующие шаги :
|
Понятийно необходимо выполнить следующие шаги :
|
||||||
1) Поднять vpn сервер.
|
1) Поднять vpn сервер.
|
||||||
2) Настроить vpn клиент. Результат этого шага - получение поднятого интерфейса vpn.
|
2) Настроить vpn клиент. Результат этого шага - получение поднятого интерфейса vpn.
|
||||||
Будть то wireguard, openvpn или любой другой тип vpn.
|
Будь то wireguard, openvpn или любой другой тип vpn.
|
||||||
3) Создать такую схему маршрутизации, при которой пакеты, помечаемые особым mark,
|
3) Создать такую схему маршрутизации, при которой пакеты, помечаемые особым mark,
|
||||||
попадают на vpn, а остальные идут обычным способом.
|
попадают на vpn, а остальные идут обычным способом.
|
||||||
4) Создать правила, выставляющие mark для всего трафика, который необходимо рулить на vpn.
|
4) Создать правила, выставляющие mark для всего трафика, который необходимо рулить на vpn.
|
||||||
@ -82,6 +82,10 @@ Endpoint обязательно должен быть прописан толь
|
|||||||
менять ip и быть за nat. Endpoint пира настраивается динамически после успешной фазы
|
менять ip и быть за nat. Endpoint пира настраивается динамически после успешной фазы
|
||||||
проверки ключа.
|
проверки ключа.
|
||||||
|
|
||||||
|
Включаем маршрутизцию :
|
||||||
|
# echo net.ipv4.ip_forward = 1 >>/etc/sysctl.conf
|
||||||
|
# sysctl -p
|
||||||
|
|
||||||
Интерфейс конфигурится стандартно для дебианоподобных систем :
|
Интерфейс конфигурится стандартно для дебианоподобных систем :
|
||||||
|
|
||||||
--/etc/network/interfaces.d/wgvps-------------
|
--/etc/network/interfaces.d/wgvps-------------
|
||||||
@ -91,10 +95,17 @@ iface wgvps inet static
|
|||||||
netmask 255.255.255.0
|
netmask 255.255.255.0
|
||||||
pre-up ip link add $IFACE type wireguard
|
pre-up ip link add $IFACE type wireguard
|
||||||
pre-up wg setconf $IFACE /etc/wireguard/$IFACE.conf
|
pre-up wg setconf $IFACE /etc/wireguard/$IFACE.conf
|
||||||
|
post-up iptables -t nat -A POSTROUTING -o eth0 -s 192.168.254.0/24 -j MASQUERADE
|
||||||
|
post-up iptables -A FORWARD -o eth0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
|
||||||
|
post-down iptables -D FORWARD -o eth0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
|
||||||
|
post-down iptables -t nat -D POSTROUTING -o eth0 -s 192.168.254.0/24 -j MASQUERADE
|
||||||
post-down ip link del $IFACE
|
post-down ip link del $IFACE
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
|
||||||
Поднятие через ifup wgvps, опускание через ifdown wgvps.
|
Поднятие через ifup wgvps, опускание через ifdown wgvps.
|
||||||
|
При поднятии интерфейса заодно настраивается nat. eth0 здесь означает интерфейс vpn сервера с инетовским ip адресом.
|
||||||
|
Если у вас какая-то система управления фаерволом, то надо настройку nat прикручивать туда.
|
||||||
|
Пример написан для простейшего случая, когда никаких ограничений нет, таблицы iptables пустые.
|
||||||
Чтобы посмотреть текущие настройки wireguard, запустите 'wg' без параметров.
|
Чтобы посмотреть текущие настройки wireguard, запустите 'wg' без параметров.
|
||||||
|
|
||||||
|
|
||||||
@ -191,9 +202,9 @@ config rule
|
|||||||
# ifconfig wgvps
|
# ifconfig wgvps
|
||||||
# ping 192.168.254.1
|
# ping 192.168.254.1
|
||||||
|
|
||||||
Если все хорошо, должны ходить пинги.
|
Если все хорошо, должны ходить пинги.
|
||||||
С сервера не помешает :
|
С сервера не помешает :
|
||||||
# ping 192.168.254.3
|
# ping 192.168.254.3
|
||||||
|
|
||||||
|
|
||||||
--- Маркировка трафика ---
|
--- Маркировка трафика ---
|
||||||
|
Loading…
x
Reference in New Issue
Block a user