我想configuration一个使用openvpn从Windows 7客户端机器到Linux主机的连接。 我正在使用tap设备的传统路由模式使用openvpn,我使用的configuration基本上是一个在过去的linux-linux连接工作正常。 在服务器上我有:
lport 1198 dev tap ifconfig 192.168.0.16 255.255.255.240 secret bubble.key ping 10 verb 3 mute 10 route 192.168.2.0 255.255.255.0 192.168.0.17
在客户端我有:
remote [my server's public ip address] rport 1198 dev tap ifconfig 192.168.0.17 255.255.255.240 secret bubble.key ping 10 ping-restart 120 verb 3 mute 10
我的问题是,每当客户端重新启动,它是最初无法联系服务器。 但是,当我从服务器发送一个ping到客户端,一切都开始工作。 除了在服务器上运行一个ping进程,我不知道如何使这个工作…
更多信息:怀疑ARP问题,我一直在研究ARP设置。 Linux主机有以下networking信息:
tap1 Link encap:Ethernet HWaddr 00:ff:55:4d:06:47 inet addr:192.168.0.16 Bcast:192.168.0.31 Mask:255.255.255.240 inet6 addr: fe80::2ff:55ff:fe4d:647/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:45508 errors:0 dropped:0 overruns:0 frame:0 TX packets:45318 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:3375338 (3.2 MiB) TX bytes:3561021 (3.3 MiB)
但Windows机器似乎正在拾取一个不正确的物理地址:
$ arp -a Interface: 192.168.0.17 --- 0xf Internet Address Physical Address Type 192.168.0.16 00-ff-51-1e-af-f3 dynamic 192.168.0.31 ff-ff-ff-ff-ff-ff static 224.0.0.22 01-00-5e-00-00-16 static 224.0.0.252 01-00-5e-00-00-fc static 255.255.255.255 ff-ff-ff-ff-ff-ff static
当它从远端收到一个数据包时,它会被纠正。 但是,每次运行“arp -d 192.168.0.16”时,物理地址都会恢复为相同的错误地址。 我不确定它从哪里得到。 有任何想法吗?
更新:从“tap”切换到“tun”可以解决问题,但我仍然想知道为什么在“tap”模式下无法正常工作。
您好,我了解到,在服务器上的所有级别的接口上启用promisc模式有助于加速这个过程 – 但是我也注意到这个错误 – 它实际上随着时间的推移 – 尝试ping从窗口的几个地址超过水龙头,一个接一个,他们将被覆盖,但这需要时间,更快的方式是从服务器ping,但并不总是可能的。 我正在寻找其他解决scheme,实际上手动更新ARP表,但它似乎像TAP驱动程序或Windows ARP更新中的错误。 奇怪的是,在build立联系之后,它的function是单调的。 (我使用的TCP – 也许更多的hickups,但它更稳定 – 我正在raching 45 mbit的下载和50 mbit的上传这是足够的,我猜)