linux设置静态IP和DNS以及改网卡名
ubuntu
Ubuntu如果是desktop版,由于desktop版安装了NetworkManager,修改完interfaces文档中的内容,不会生效,需要先修改/etc/NetworkManager/NetworkManager.conf文档中的managed参数,将它设置为true,然后再修改/etc/network/interfaces文件,设置静态IP。
#The primary network interfaces
auto eth0 #表示让网卡开机自动挂载eth0
iface eth0 inet static
address 192.168.3.3
gateway 192.168.3.1
netmask 255.255.255.0
#network 192.168.3.0
#broadcast 192.168.3.255
重启网络使之生效
/etc/init.d/networking restart
如果无法重启 则用
ifdown eth0 && ifup eth0
设置固定DNS
vim /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.8.8
保存后执行 resolvconf -u
也可以通过vim /etc/network/interfaces,最后增加一句
dns-nameservers 8.8.8.8 4.4.4.4
centos
/etc/sysconfig/network Centos设置主机名和网络配置或者直接用hostnamectl命令就OK,也能修改主机名。
/etc/sysconfig/network-scripts/ifcfg-eth0 针对特定的网卡进行设置
/etc/resolv.conf设置DNS
/etc/hosts 设置指定的域名解析地址
DEVICE=eth0
BOOTPROTO=static
TYPE=Ethernet
NAME="System etho0"
BROADCAST=192.168.56.255
HWADDR=08:00:27:24:F8:9B
IPADDR=192.168.56.101
IPV6INIT=yes
IPV6_AUTOCONF=yes
NETMASK=255.255.255.0
NETWORK=192.168.56.1
ONBOOT=yes
service network restart
改网卡名为eth0
①vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 将NAME=eth0
②重命名改配置文件
③禁用该可预测命名规则 对于这一点,你可以在启动时传递“net.ifnames=0 biosdevname=0 ”的内核参数。这是通过编辑/etc/default/grub并加入“net.ifnames=0 biosdevname=0。在GRUBCMD_LINELINUX变量中。
④运行命令grub2-mkconfig -o /boot/grub2/grub.cfg 来重新生成GRUB配置并更新内核参数。
⑤重启在ifconfig查看应该就已经生效了,根据Centos 官方WIKI的FAQ中得知,如果你有多个接口,并且想要控制其设备名,而不是让内核以它自己的方式命名,创建,/etc/udev/rules.d/XXX-net.rules规则是必要的!那么这里我们也创建好规则吧。
注意:以前系统的net规则名称是70-persistent-net.rules,这里我也按照这个名字定义规则!(这步不做也问题不大。。)
⑥重启系统
可能出现service network restart失败的情况。
① MAC地址绑定的问题。改ifctg-eno167777那个文件时,MAC地址忘了换,这个时候删除这个文件里的MAC绑定那行,删除/etc/udev/rules.d/70-xxx这个文件,这个文件里面也有关于MAC地址的设置。
② 改完网卡名之后,记得把ifcfg-eth0里面的DEVICES=eno167777换成DEVICES=eth0
重启网卡。