CentOS7 修改设置静态IP和DNS

近因为学习Puppet,用虚拟机装了个CentOS,使用的NAT的网络模式,为了防止再次启动系统的时候网络IP发生变化,因此设置静态IP和DNS。
由于CentOS是最小化安装,没有ifconfig命令,因此可以采用ip命令查看。
查看IP分配情况:

# ip addr
  • 1

发现里边只有一个LOOPBACK的127.0.0.1的回环地址,原来CentOS刚安装后默认是不启动网络连接的。
设置IP和DNS主要在下面的配置文件中修改:

# vi /etc/sysconfig/network-scripts/ifcfg-*
  • 1

由于最小化安装没有vim,所以使用vi。具体的配置文件需要到network-scripts目录下看,通常是以ifcfg-开头的,比如ifcfg-eth0,我的是ifcfg-eno16777736,对于我这种洁癖来说回头非得改了这个乱七八糟的名字,另一个ifcfg-lo就是LOOPBACK网络咯。

# vi /etc/sysconfig/network-scripts/ifcfg-[tab两下]
ifcfg-eno16777736  ifcfg-lo
  • 1
  • 2

1. 编辑ifcfg-eno16777736

BOOTPROTO=static #dhcp改为static(修改)
ONBOOT=yes #开机启用本配置,一般在最后一行(修改)

IPADDR=192.168.1.204 #静态IP(增加)
GATEWAY=192.168.1.2 #默认网关,虚拟机安装的话,通常是2,也就是VMnet8的网关设置(增加)
NETMASK=255.255.255.0 #子网掩码(增加)
DNS1=192.168.1.2 #DNS 配置,虚拟机安装的话,DNS就网关就行,多个DNS网址的话再增加(增加)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2. 重启网络服务

# service network restart
  • 1

3. 检查网络

# ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:58:14:ee brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.204/24 brd 192.168.1.255 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe58:14ee/64 scope link 
       valid_lft forever preferred_lft forever
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

可以看到,eno16777736这个网络就起来了。
随便找个域名ping一下测试DNS是否OK:

出现的一些问题 

linux 重启网卡 Device eth0 has different MAC address than expected, ignoring 

原因:



这个提示是指网口的mac地址已经变化,但是设备名称没有变化,导致设备名称和mac地址无法匹配,linux无法挂载该网口。换种说法就是该网口的配置文件里的mac地址和该网口实际的mac地址不符合。、

如何解决CentOS7 修改设置静态IP和DNS_第1张图片


在文件中寻找 HWADDR= 这行,如果没有就新加一行。把这行后面的值改成第一步看到的mac地址值,例如 HWADDR="00:0C:29:2D:2D:CF",然后保存退出





你可能感兴趣的:(CentOS7 修改设置静态IP和DNS)