Linux

OpenVPN連接後自動設置路由

  • July 16, 2012

我使用 Debian 6 作為我的伺服器,我在那裡配置了 OpenVPN 伺服器,並且客戶端使用 Tap 模式成功連接。該伺服器可從 Internet 獲得,但它也連接到內部網路。

本地 LAN:192.168.3.0/24- OpenVPN 伺服器上的 eth0

OpenVPN 客戶端:192.168.199.0/24- OpenVPN 伺服器上的 tap0

如果有人可以提供我必須遵循的步驟以允許連接到 OpenVPN 伺服器的客戶端查看並能夠連接到 OpenVPN 伺服器所在的 LAN 中的每台機器(192.168.3.0/24 網路),那就太好了。

如果您能告訴我如何在客戶端連接後自動設置此路由,那將是完美的。

如果您確實需要TAP 式連接,則需要指定server-bridge不帶其他參數的選項 - 這將啟用橋接模式和 OpenVPN 傳遞 DHCP 請求(DHCP 代理模式)。您還需要將 tun 介面與 LAN 介面使用的任何介面橋接brctl

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 tun0
ifconfig br0 inet 192.168.3.99 netmask 255.255.255.0

有關詳細資訊,請參閱OpenVPN 文件中的 server-bridge 選項描述。

但老實說,您應該盡可能選擇路由而不是橋接 - 它可以更好地調試並減少通過您的 VPN 傳輸的不必要的網路噪音(廣播)。

對於這種情況,包含push "route 192.168.3.0 255.255.255.0"伺服器上的配置文件和隨附的客戶端樣式配置文件(指定client選項)就可以了。例子:

local <your public IP address>
port <your OpenVPN port>
proto udp
dev tun0
# reduce MTU if necessary
# tun-mtu 1400

# place your cert/key/DH paths here
ca keys/ca.crt
cert keys/server.crt
key keys/private/server.key
dh keys/dhparm.pem

# OpenVPN client network
server 192.168.99.0 255.255.255.0

# push client route
push "route 192.168.3.0 255.255.255.0"

keepalive 10 60

status /var/log/openvpn-status.log

daemon

# logging options
verb 4
mute 20

有關選項參數的詳細資訊,請參閱文件

引用自:https://serverfault.com/questions/408150