使用路由的端口映射,把外网的80端口转给内网的虚拟机上,就是使用的NAT(network address translation)(网络地址转换)
仔细研究了研究,2机的不同点只有ip,freebsd的ip为192.168.1.110,arch的ip为192.168.111
然后就想到是不是路由设置的问题?
2台guest机为了和主机通信,都是使用的2个网卡,一个使用的NAT自动获取地址;1个使用的bridged 桥接网络来实现和 host机的链接.
使用netstat -s 来察看
发现freebsd的设定为192.168.1.110的2号网卡em0没有设置网关....难道就是这个问题?
最后,每个路由的不同属性可以在 Flags 列中看到。下边是个关于这些标志和它们的含义的一个简表:
U | Up: 路由处于活动状态。 |
H | Host: 路由目标是单个主机。 |
G | Gateway: 所有发到目的地的网络传到这一远程系统上, 并由它决定最后发到哪里。 |
S | Static: 这个路由是手工配置的,不是由系统自动生成的。 |
C | Clone: 生成一个新的路由, 通过这个路由我们可以连接上这些机子。 这种类型的路由通常用于本地网络。 |
W | WasCloned: 指明一个路由——它是基于本地区域网络 (克隆) 路由自动配置的。 |
L | Link: 路由涉及到了以太网硬件。 |
通过修改/etc/rc.conf 文件,给em0网卡添加路由
defaultrouter="192.168.1.1"
然后重启网络服务
# /etc/rc.d/netif restart
注意: 如果在 /etc/rc.conf 中配置了默认网关, 还需要运行下面的命令:
# /etc/rc.d/routing restart
然后,使用noip注册的域名来访问,OK啦!
参考 : 设置网卡
网关和路由