Update README.md
This commit is contained in:
24
README.md
24
README.md
@@ -95,7 +95,31 @@ sudo mkdir -p /etc/openvpn/server/ccd
|
|||||||
echo "ifconfig-push 10.210.0.254 255.255.255.0" | sudo tee /etc/openvpn/server/ccd/special-gateway
|
echo "ifconfig-push 10.210.0.254 255.255.255.0" | sudo tee /etc/openvpn/server/ccd/special-gateway
|
||||||
echo 'push-remove "redirect-gateway def1 bypass-dhcp"' | sudo tee -a /etc/openvpn/server/ccd/special-gateway
|
echo 'push-remove "redirect-gateway def1 bypass-dhcp"' | sudo tee -a /etc/openvpn/server/ccd/special-gateway
|
||||||
```
|
```
|
||||||
|
Теперь "финт ушами". Существует опция iroute в client specific override которая позволяет завернуть весь трафик туннеля конкретному клиенту (iroute 0.0.0.0 0.0.0.0). НО!!! Эта опция конфликтует с DCO, который нам нужен для производительности. Поэтому нужно сделать default маршрут от сервера в сторону шлюза. Но только для интерфейса tun0. Остальной трафик должен имет default маршрут в сторону физического интерфейса (в нашем случае ens3). Для этого применим policy-based routing, который будет включаться вместе с сервисом openvpn-server@server.service:
|
||||||
|
```
|
||||||
|
nano /etc/systemd/system/vpn-policy-routing.service
|
||||||
|
```
|
||||||
|
```
|
||||||
|
[Unit]
|
||||||
|
Description=OpenVPN Policy Routing for Clients
|
||||||
|
After=network.target openvpn-server@server.service
|
||||||
|
Requires=openvpn-server@server.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
# Применяем правила: сначала добавляем локальный маршрут подсети в таблицу 100, затем дефолтный на шлюз
|
||||||
|
ExecStart=/sbin/ip rule add from 10.210.0.0/24 table 100 ; /sbin/ip route add 10.210.0.0/24 dev tun0 proto kernel scope link table 100 ; /sbin/ip route add default via 10.210.0.254 dev tun0 table 100
|
||||||
|
# Корректно удаляем при остановке
|
||||||
|
ExecStop=/sbin/ip rule del from 10.210.0.0/24 table 100 ; /sbin/ip route del default via 10.210.0.254 dev tun0 table 100 ; /sbin/ip route del 10.210.0.0/24 dev tun0 table 100
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
```
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl enable vpn-policy-routing.service
|
||||||
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
ip -details link show dev tun0
|
ip -details link show dev tun0
|
||||||
|
|||||||
Reference in New Issue
Block a user