欣赏这是serverfault的一个基本问题,但是我在FreeBSD服务器上遇到了一个静态IP寻址的问题,我对FreeBSD并不熟悉,但是我被要求将其中一个设置为一个虚拟机。
我已经能够手动设置静态IP地址,我的/etc/rc.conf文件如下所示:
hostname="freebsd" sshd_enable="YES" dumpdev="AUTO" ifconfig_hn0="inet 192.168.220.12 netmask 255.255.255.0" defaultrouter="192.168.220.1"
这是在VMWare服务器上运行的VM(在Windows下)。
从FreeBSD虚拟机内部我可以ping自己(192.168.220.12),但是我不能ping通路由器(192.168.220.1),因此根本无法ping通。
我试过重新启动networking,甚至重新启动虚拟机无济于事。 在这台服务器上运行的其他虚拟机在静态IP地址上工作正常,并且该IP地址上没有其他的东西。 FreeBSD已禁用PF,所以它不是防火墙相关的。
这里是ifconfig的输出(lo0也存在,但我没有包含它):
root@freebsd:~ # ifconfig hn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=71b<RXCSUM,TXSUM,VLAN_HWTAGGING,TS04,TS06,LR0> ether 00:15:5d:dc:0f:06 inet 192.168.220.12 netmask 0xffffff00 broadcast 192.168.220.255 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect (10Gbase-T <full-duplex>) status: active
乐于提供任何其他信息,以解决这个问题。
更新:我已经在这里http://imgur.com/a/BuYeY添加了netstat -rn和arp -an输出
你的rc.conf看起来不错,你可以检查netstat -rn来validation路由表和arp -an来检查arp表,但是我猜也没有路由问题。
你确定在VMWare服务器上的networking设置 ? 它实际上使用192.168.220.1/24networking?
您可以使用tcpdump检查networking上的stream量: sudo tcpdump -c40 -ni hn0 :是否有任何arp请求/回复 ?
我不确定是否可能是这个问题,但我可以从你的ifconfig看到你的hn0正在使用一个24位的networking掩码:
inet 192.168.220.12 netmask 0xffffff00 broadcast 192.168.220.255
而您的路由表则指出了23位子网上的接口:
192.168.220.0/23 link#2 U hn0