linux设置静态IP和DNS以及改网卡名

时间:2024-01-11 09:47:26

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

重启网卡。