MULTI:来自客户端的错误源地址 - 通过 openvpn 路由所有流量

MULTI:来自客户端的错误源地址 - 通过 openvpn 路由所有流量

我在笔记本电脑上运行 openvpn 客户端,并在远程服务器(ec2 或 aliyun)上运行 openvpn 服务器。我希望所有流量都通过 openvpn 服务器。当笔记本电脑和 openvpn 服务器之间建立连接时,我无法访问任何互联网,服务器端显示以下消息:

client/131.202.160.31:59288 MULTI: bad source address from client [131.202.160.31], packet dropped

131.202.160.31 是我的笔记本电脑地址。服务器上的路由信息​​是:

root@iZbp15fejv9adv7o3izfm1Z:~# ip route  show
default via 172.16.63.253 dev eth0 
10.8.0.0/24 via 10.8.0.2 dev tun0 
10.8.0.2 dev tun0  proto kernel  scope link  src 10.8.0.1 
172.16.48.0/20 dev eth0  proto kernel  scope link  src 172.16.62.150 
root@iZbp15fejv9adv7o3izfm1Z:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3e:0e:1c:43  
          inet addr:172.16.62.150  Bcast:172.16.63.255  Mask:255.255.240.0

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255

一些相关页面通过 openvpn 重定向所有流量, 和AskUbuntu 坏源地址, 和说明

解释得很清楚,但我仍然很困惑。1)错误表明 openvpn 服务器不知道如何转发包,这是因为 VPN 客户端后面有一个子网。在我的例子中,只有一台运行 openvpn 客户端的笔记本电脑客户端。

2) 我不熟悉网络。有人可以提供 server.conf 中 ccd 配置的示例吗(例如,masks、iroute)?看起来这个配置将包括我的笔记本电脑的地址。就我而言,我的笔记本电脑地址是动态的,并且会经常移动。


server.conf

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem

server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"
keepalive 10 120

comp-lzo
persist-key
persist-tun

status openvpn-status.log
verb 5
;mute 20
push "redirect-gateway def1" 
push "dhcp-option DNS 10.8.0.1" #The result is the same even I use the openDNS

root@iZbp15fejv9adv7o3izfm1Z:/etc/openvpn#  iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  10.8.0.0/24          anywhere 

我在 /etc/rc.local 末尾添加了以下指令

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

service dnsmasq restart
exit 0

相关内容