
tun0 (openvpn トンネル) が起動したら、以下のルーティング ルールを適用します。これらのルールは、ネットワーク上の一部のクライアントを VPN の外部にプッシュし、インターネットに直接接続するのに役立ちます。これらを適用する最適な方法は何ですか?
更新: Ubuntu 18.04 を実行しています。
ip route add default via 192.168.8.1 table novpn
ip route add 192.168.1.0/24 dev enp4s0 table novpn
ip rule add from 192.168.1.220 table novpn
iptables -t nat -A POSTROUTING -m iprange --src-range 192.168.1.210-192.168.1.220 -o enp5s0 -j MASQUERADE
答え1
次のような openvpn config からコマンドを実行できます:
script-security 2
up /path/to/routing/script
down /path/to/routing/downscript
man openvpn から:
--up cmd Run command cmd after successful TUN/TAP device open (pre --user UID change). cmd consists of a path to script (or executable program), op‐ tionally followed by arguments. The path and arguments may be single- or double-quoted and/or escaped using a backslash, and should be separated by one or more spaces. The up command is useful for specifying route commands which route IP traffic destined for private subnets which exist at the other end of the VPN connection into the tunnel. For --dev tun execute as: cmd tun_dev tun_mtu link_mtu ifconfig_local_ip ifconfig_re‐ mote_ip [ init | restart ]
答え2
これを試すことができます( に追加してください/etc/rc.local
)
ip route add default via 192.168.8.1 table novpn
ip route add 192.168.1.0/24 dev enp4s0 table novpn
ip rule add from 192.168.1.220 table novpn
iptables -t nat -A POSTROUTING -m iprange --src-range 192.168.1.210-192.168.1.220 -o enp5s0 -j MASQUERADE