我已经安装了一个作为OpenVPN服务器的Linux机器(在esxi5上)。 服务器被configuration为使用桥接为客户端,基本上工作,有一个例外。
如果客户在networking上ping了一些不是服务器的机器,它就不能工作。 我排除了我所知道的一切(iptables等),运行tcpdump将其归结为以下几点:
问题:为什么br0设备不转发ARP回复到tap0设备?
没有更多的信息,我们猜测,但让我们试试:
首先确保eth0和tap0都处于混杂模式。 br0不应该在混杂模式。
接下来检查你是否有arptables和任何可能会干扰的iptables规则。
因为你已经得到了arp回复,你可能没有这个 ,但无论如何检查。
最后检查rp_filter设置,还要检查你可能已经设置的任何额外的sysctl参数。
如果您的ESXi主机具有到networking的冗余连接,则由于Net.ReversePathFwdCheckPromisc的默认设置,可能会出现各种ARP问题。 使用CARP的pfSense用户是最早进行debugging的用户之一,在https://doc.pfsense.org/index.php/CARP_Configuration_Troubleshooting
在类似的环境中,我们在FreeBSD上build立了OpenVPN桥接,但是也增加了vlans的复杂性。 在Net.ReversePathFwdCheckPromisc尚未设置为1的主机上,并且存在多个到networking的上行链路时,我们发现到tap设备的入站stream量出现大量数据包丢失(95%+)。 它设置为1时工作得很好。