wg docs : add masquerade to server

This commit is contained in:
bolvan 2019-04-13 15:35:45 +03:00
parent b9669f1309
commit bb390921cb

View File

@ -17,7 +17,7 @@ Wireguard может дать 50 mbps там, где openvpn еле тащит 1
Понятийно необходимо выполнить следующие шаги : Понятийно необходимо выполнить следующие шаги :
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' без параметров.