为路由的OpenVPNconfigurationShorewall

我有一个Ubuntu服务器14.04机器作为NAT路由器。 使用Shorewall来实现路由,大部分符合本教程 。 局域网有子网10.0.0.0/24

在这台机器上,我也想运行一个OpenVPN服务器,它监听端口1194(udp)。 连接到此VPN(来自Internet)的客户端应该位于10.34.56.0/24子网中。 VPN子网中的主机应该能够到达LAN子网中的主机,同时具有udp和tcp连接。 此外,VPN子网中的主机应该能够通过我的服务器访问互联网(伪装)。

我的问题是: 我如何configurationShorewall使之发生?
a) 连接VPN客户端应该从OpenVPN服务器获得答案
b) VPN子网中的主机应该能够访问互联网


我的/etc/shorewall/rules包含一行,用于打开OpenVPN服务器的入站VPN连接端口

 #ACTION SOURCE DEST PROTO DEST SOURCE # PORT PORT(S) # listen for VPN on net ACCEPT net $FW udp 1194 

我已经尝试使用/etc/shorewall/tunnels文件,就像这个页面build议的一样,但无济于事。 我也尝试将/etc/shorewall/tunnels文件翻译成/etc/shorewall/rules ,按照这个页面 ,但是这也是不成功的。 我所得到的只是设置连接时的超时时间。


我的一些更多的shorewallconfiguration文件:

我的/etc/shorewall/interfaces

 #ZONE INTERFACE BROADCAST OPTIONS net p10p1 detect #... loc eth1 detect #... vpn tun+ 

我的/etc/shorewall/zones

 #ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall net ipv4 loc ipv4 vpn ipv4 

我的/etc/shorewall/masq

 #INTERFACE:DEST SOURCE ADDRESS PROTO PORT(S) IPSEC MARK USER/ SWITCH ORIGINAL # GROUP DEST p10p1 10.0.0.0/24 

尝试改变规则:

 ACCEPT net $FW udp 1194 

成为 :

 ACCEPT:info net $FW udp 1194 

然后,尾部/ var / log / syslog文件查看连接是否已经启动。

确保你的/ etc / shorewall / policy文件有一个部分允许VPN到LOC和LOC到VPN:

 loc vpn ACCEPT vpn loc ACCEPT 

…或者/ etc / shorewall / rules文件中的规则来允许loc对vpn和vpn进行loc。

 ACCEPT loc vpn ACCEPT vpn loc 

而你的/ etc / shorewall / tunnels文件应该包含它:

 openvpnserver:1194 net 0.0.0.0/0 

如果所有的设置和工作,你可能有openvpnconfiguration的问题。 以下是我的configuration示例,其中的更改与您的configuration相匹配。

 # General Options local your.public.ip dev tun0 proto udp port 1194 topology subnet client-config-dir /etc/openvpn/ccd # Certificate locations ca /etc/openvpn/easyrsa/keys/ca.crt cert /etc/openvpn/easyrsa/keys/gateway.crt key /etc/openvpn/easyrsa/keys/gateway.key dh /etc/openvpn/easyrsa/keys/dh2048.pem # Who the openvpn process run as user nobody group nogroup # Use this range for IP's server 10.34.56.0 255.255.255.0 persist-key persist-tun # Allow client to client traffic client-to-client # Set VPN as Default GW #push “redirect-gateway def1″ # Push routes to client (prefered over default route) push "route 10.0.0.0 255.255.255.0" #set the dns servers push “dhcp-option DNS 10.0.0.1″ status /var/log/openvpn-status.log verb 5 log-append /var/log/openvpn comp-lzo keepalive 20 120