我想连接到OpenVPN,并且我预定义的IP地址列表通过该连接( tun0 )进行路由。 所有其他stream量不受影响(通过eth0 )。
ufw不是问题,所以我禁用它( ufw disable )。 iptables不是问题,所以我重置它,导致: $ iptables -L
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
(这应该几乎接受任何连接)
10.8.0.1 ) 10.8.0.x )以外的任何内容 在客户端,我手动设置路由(在conf文件中):
route-nopull route 54.175.222.246 255.255.255.255 route 10.8.0.0 255.255.255.0
( 54.175.222.246是http://httpbin.org/的IP地址)
这实际上发送的东西到OpenVPN服务器; 日志:
Jan 1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 UDPv4 WRITE [229] to [AF_INET]77.251.109.156:45958: P_DATA_V1 kid=0 DATA len=228 Jan 1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 UDPv4 WRITE [229] to [AF_INET]77.251.109.156:45958: P_DATA_V1 kid=0 DATA len=228 Jan 1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 UDPv4 READ [101] from [AF_INET]77.251.109.156:45958: P_DATA_V1 kid=0 DATA len=100 Jan 1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 UDPv4 READ [101] from [AF_INET]77.251.109.156:45958: P_DATA_V1 kid=0 DATA len=100 Jan 1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 TUN WRITE [64] Jan 1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 TUN WRITE [64] Jan 1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 TUN READ [123] Jan 1 12:02:08 bare2 ovpn-server[25265]: client-deskserver/77.251.109.156:45958 TUN READ [123]
但是,服务器不会将其redirect到公共Internet连接, 或者 http服务器发回的任何内容都不会被OpenVPN服务器接收/redirect。 我不知道是哪一种情况,我不知道如何解决其中的一个。 (我发现的大多数post都是关于通过OpenVPN发送所有stream量,而不是特定的stream量;这些stream量是关于特定stream量的,讨论了通过iptables允许的东西,但是这些都没有帮助)
有什么build议么?
在网上search了大约半天之后,我终于碰到了这个post 。
总之,我所要做的就是:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
(我也必须启用ipv4转发,但我已经做了很久以前