< >
Home » ROS与虚拟机入门教程 » ROS与虚拟机-配置Vbox(Ubuntu)为固定IP并与主机互访问上网

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
  • 假设主机已经可以正常上网

步骤

  1. 安装Ubuntu时候要设置桥接方式上网, 默认是虚拟机系统采用DHCP方式获取IP地址

  2. 查询主机的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

  1. 设置静态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
  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服务器
  1. 重启的话,还是会变为原来的样子,所以要让其永久改变,避免覆盖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
  1. 重启虚拟机,测试配置是否成功
  • 主机连通虚拟机
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

得到类似如上结果,则配置完成,恭喜!

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros虚拟机