昨天重新安装了下系统,发现虚拟机中安装的Linux系统ip地址被重新分配,开始没有觉得什么,可是打算连接虚拟机中搭建的solr集群时候发现悲剧了,原因是使用zookeeper搭建的solr集群,在zookeeper的配置文件中,设置的ip地址和现在系统的地址完全不一样,虽然可以手动一个个修改。可是依然觉得太麻烦,最后决定直接修改Linux的ip地址得了,以下是修改方法。
注:修改必须使用 root权限,否则无法修改成功。
1. 在开始操作之前,先在命令行中 输入命令 ifconfig 查看网卡名称,如下图所示
如图中所示,可以看到两个网卡名称:ens33 和 lo。 而我们需要的就是修改名为ens33的网卡设置
注:这里有个坑,如果在Ubuntu 16.04之前的版本 此处显示的网卡名称是enth0, 而不是现在显示的ens33.。
在网上找了张图片,之前的网卡名称确实和现在的网卡名称不一样
2. 在命令行输入 vim /etc/network/interfaces , 使用 编辑器打开interfaces配置文件,然后输入以下代码。
1 # interfaces(5) file used by ifup(8) and ifdown(8) 2 auto lo 3 iface lo inet loopback 4 5 auto ens33 6 iface ens33 inet static 7 address 192.168.1.7 8 netmask 255.255.255.0 9 gateway 192.168.1.1 10 dns-nameservers 218.85.157.99 218.85.152.99
设置网卡名称为 ens33 静态ip地址, 网关 , DNS地址等。注意这里的网卡名称需要根据你自己的网卡名称修改。如果将网卡名称ens33 改成eth0, 那么会出现如下的错误
[....] Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code.
See "systemctl status networking.service" and "journalctl -xe" for details. failed!
修改后如下图所示
3.设置DNS服务地址
DNS地址已经在第二步设置过了,这里说下注意的地方
1. 查看DNS地址可以在Windown的 命令窗口中输入 ipconfig /all 查看DNS服务地址。
2. 不要手动在配置文件 /etc/resolv.conf 中设置 nameserver,否则重启系统之后,所有的DNS地址都会被覆盖。所以如果要设置DNS服务地址,请在第二步的 配置文件interfaces 中设置 dns-nameservers 属性,每个DNS服务地址用空格间隔,重新网络服务之后,所有的nameserver会被添加到 /etc/resolv.conf配置文件中。
下面是 /etc/resolv.conf 重启网络之后的 DNS服务地址
4. 设置完成之后,输入命令 /etc/init.d/networking restart 重新启动网络
看到OK说明重启成功了, 继续通过 ifconfig 命令查看现在网卡情况
可以看到ip地址已修改成功。 我之前的地址是192.168.1.6
注:如果启动不成功,或者出错。在命令行输入 systemctl restart network-manager.service 将网络服务重新启动
修改ip的过程很简单,但是修改的过程需要注意 网卡名称 和 DNS服务的设置,别踩坑了。
文章有很多不足的地方,欢迎大家指正。谢谢!