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 '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
|
||||
|
||||
Reference in New Issue
Block a user