我很感激这对 serverfault 来说是一个非常基本的问题,但是我在 FreeBSD 服务器上遇到了静态 IP 寻址问题,并且我对 FreeBSD 不是很熟悉,但我被要求将其设置为 VM。
我已经能够手动设置静态 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 服务器(Windows 下)上运行的虚拟机。
从 FreeBSD VM 内部,我可以 ping 通自己 (192.168.220.12),但无法 ping 通路由器 (192.168.220.1),因此根本无法 ping 通外面。
我尝试过重启网络,甚至重启虚拟机,但都无济于事。此服务器上运行的其他虚拟机使用静态 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
很高兴提供任何其他信息以解决此问题。
更新:我在这里添加了netstat -rn
和的输出arp -an
https://i.stack.imgur.com/Jvbqp.jpg
答案1
您的rc.conf
情况看起来不错,您可以检查netstat -rn
路由表并arp -an
检查 arp 表,但我猜路由也没有问题。
您确定吗网络设置在 VMWare 服务器上?它实际上是否用于192.168.220.1/24
该网络?
您可以使用以下方式检查网络上的流量tcpdump: sudo tcpdump -c40 -ni hn0
: 有吗arp 请求/回复?
答案2
我不确定这是否是问题所在,但我从你的是否配置你的hn0使用 24 位网络掩码:
inet 192.168.220.12 网络掩码 0xffffff00 广播 192.168.220.255
而您的路由表表明该接口位于 23 位子网上:
192.168.220.0/23 链路#2 U hn0