ROS与虚拟机-配置Vbox(Ubuntu)为固定IP并与主机互访问上网
配置Vbox(Ubuntu)为固定IP并与主机互访问上网
说明
- 如果利用Vbox(Ubuntu)作为ROS的工作机,但如果IP变化就得配置.bashrc文件的ROS_HOSTNAME,(使用IP作为HOSTNAME)
- 假设主机的IP端是192.168.1.100
- 假设要设置虚拟机的静态IP为192.168.1.99
- 假设主机已经可以正常上网
步骤
安装Ubuntu时候要设置桥接方式上网, 默认是虚拟机系统采用DHCP方式获取IP地址
查询主机的IP地址,命令行下:
如果是Linux: ifconfig
如果是Windows下: ipconfig
假设主机的IP端是192.168.1.100, 那么设置的Ip就需要是192.168.1.X . X为理论为2-254的数字
你路由器最好使用DHCP的IP段192.168.1.101-192.168.1.254,固定IP设置为小于192.168.1.100的,这样可避免冲突。
假设目前要设置虚拟机的静态IP为192.168.1.99
- 设置静态IP地址,编辑interfaces文件,该文件位于/etc/network/下,执行如下命令:
sudo vim /etc/network/interfaces
添加内容如下:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
# 这以下的是为添加上去该文件上的内容:
auto eth0
iface eth0 inet static
address 192.168.1.99
netmast 255.255.255.0
gateway 192.168.1.1
- 设置DNS解析,文件在/etc/resolv.conf。执行:
sudo vim /etc/resolv.conf
内容如下:
nameserver 8.8.8.8
nameserver 8.8.4.4
- 设置DNS服务器,可根据你区域的DNS服务器设置。
- 8.8.8.8和8.8.4.4是Google的DNS服务器
- 重启的话,还是会变为原来的样子,所以要让其永久改变,避免覆盖resolv.conf, 设置/etc/resolvconf/resolv.conf.d/base
sudo vim /etc/resolvconf/resolv.conf.d/base
内容跟resolv.conf一样:
nameserver 8.8.8.8
nameserver 8.8.4.4
- 重启虚拟机,测试配置是否成功
- 主机连通虚拟机
ping 192.168.1.99
效果如:
C:\Users\ice>ping 192.168.1.105
正在 Ping 192.168.1.105 具有 32 字节的数据:
来自 192.168.1.105 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.105 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.105 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.105 的回复: 字节=32 时间<1ms TTL=64
- 虚拟机连通主机
ping 192.168.1.100
效果如:
ubu@ubu:~$ ping 192.168.1.100
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=0.327 ms
64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=0.483 ms
64 bytes from 192.168.1.100: icmp_seq=3 ttl=64 time=0.479 ms
64 bytes from 192.168.1.100: icmp_seq=4 ttl=64 time=0.485 ms
- 虚拟机能上网
ping www.ncnynl.com
效果如:
ubu@ubu:~$ ping www.baidu.com
PING www.a.shifen.com (119.75.218.70) 56(84) bytes of data.
64 bytes from 119.75.218.70: icmp_seq=1 ttl=53 time=45.6 ms
64 bytes from 119.75.218.70: icmp_seq=2 ttl=53 time=46.0 ms
64 bytes from 119.75.218.70: icmp_seq=3 ttl=53 time=45.5 ms
64 bytes from 119.75.218.70: icmp_seq=4 ttl=53 time=47.0 ms
得到类似如上结果,则配置完成,恭喜!
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号