重启后 ARP 表条目错误

重启后 ARP 表条目错误

我创建了两台 Virtualbox 机器,都安装了 Lubuntu Server 13.10。服务器机器有 Virtualbox NAT 网络和内部网络(静态 IP 192.168.1.1),客户端机器只有内部网络适配器(静态 IP 192.168.1.2),它通过服务器机器连接到互联网(服务器作为网关)。

我为它们两个都分配了静态本地 IP,并创建了一些 IPtables 规则。除了一件事外,一切都正常 -客户端无法 ping(或连接)任何人(服务器计算机或互联网),直到服务器计算机向其发送 ping(ping 192.168.1.2)。只需几个 ping 数据包,客户端计算机就会“解锁”,并且一切正常运行。

服务器ifconfig

eth0      Link encap:Ethernet  HWaddr 08:00:27:20:03:00  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe20:300/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:260 errors:0 dropped:0 overruns:0 frame:0
          TX packets:310 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:32003 (32.0 KB)  TX bytes:32378 (32.3 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:fd:7d:aa  
          inet addr:192.168.1.1  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fefd:7daa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:34 errors:0 dropped:0 overruns:0 frame:0
          TX packets:54 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8537 (8.5 KB)  TX bytes:9206 (9.2 KB)

服务器iptables

iptables -F
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter
iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -i eth0 -s 10.0.2.15 -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/255.255.255.0 -d 0/0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -d 0/0 -j MASQUERADE

客户ifconfig

eth0      Link encap:Ethernet  HWaddr 08:00:27:2d:ec:78  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe2d:ec78/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:82 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:461 (461.0 B)  TX bytes:11601 (11.6 KB)

客户iptables

iptables -F
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

我禁用了ufw,但问题仍然存在。我还检查了 Virtualbox 设置,它们似乎没有问题。

编辑:我弄清楚了问题所在 - 每次重启后客户端都有错误的 ARP 表: 客户端和服务器 ARP 表和 ifconfig 我该如何修复?有时arp -d 192.168.1.1有效,但通常我无法摆脱那个奇怪的 MAC 地址...

我将 MAC 地址更改为上面屏幕上显示的 MAC 地址。但这没有帮助 - 几次重启后,MAC 地址再次切换。

答案1

我不是专家,但我在 VMWare 上也遇到过类似的问题。客户端上的 ARP 命令显示不同的 MAC 地址,看起来几乎是随机的。

我通过禁用主机操作系统中使用的 VMnet 的 VMNet 虚拟适配器解决了这个问题。“奇怪的”MAC 地址是该虚拟适配器的 MAC 地址。现在我可以通过虚拟服务器让我的虚拟客户端立即连接到互联网。

希望能帮助到你

相关内容