不同Linux发行版本网络配置汇总

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不同Linux发行版本网络配置汇总相关的知识,希望对你有一定的参考价值。

众所周知,Linux是免费开源系统内核,不同的厂家基于此构建了不同的发行版本,对一些系统的配置也是各不相同,即使同一个厂家不同时期发布的版本也有可能有较大的变化,给系统维护带来了一些困扰,这里对工作中遇到的一些发行版本对网络的配置方法做一个滚动更新。

1、Rocky Linux 9

企业生产系统使用较多的CentOS系统被Redhat收购后改为滚动更新,原创始人重新基于Redhat源码构建了Rocky。Rocky中使用nmcli命令管理网络。

Rocky目前依然支持/etc/sysconfig/network-scripts/ifcfg-eth0文件配置网络信息

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.0.2
GATEWAY=192.168.0.1
USERCTL=no

配置完成后使用以下命令加载:

# nmcli connection migrate

但Redhat目前并不建议这样配置网信息,系统默认的网络信息文件为:

/etc/NetworkManager/system-connections/eth0.nmconnection


[connection]
id=eth0
uuid=cde6bb51-8b78-3743-a9e9-xxxxxxx7891c7
type=ethernet
autoconnect-priority=-999
interface-name=eth0 #修改网卡名字为eth0
timestamp=1677227008

[ethernet]
[ipv4]
address1=192.168.0.2/24,192.168.0.1
dns=223.5.5.5; #配置DNS
method=manual

[ipv6]
addr-gen-mode=eui64
method=auto

配置完成后使用以下命令生效:

# nmcli connection load /etc/NetworkManager/system-connections/eth0.nmconnection

# nmcli connection up /etc/NetworkManager/system-connections/eth0.nmconnection

2、CentOS 6/7

CentOS 6/7系统使用/etc/sysconfig/network-scripts/ifcfg-eth0文件配置网络信息,上文已经列出详细配置,这里补充一下DNS配置。

DNS配置保存在/etc/resolv.conf文件中,在其中添加:

nameserver 223.5.5.5

3、Ubuntu 16.04

Ubuntu 16.04系统网络配置信息保存在/etc/network/interfaces。


auto eth0
iface eth0 inet static
address 172.168.1.140
netmask 255.255.255.0
gateway 172.168.1.1
dns-nameserver 223.5.5.5

重启网络服务生效

systemctl restart networking

DNS也可写入/etc/resolvconf/resolv.conf.d/base,同时写入/etc/resolv.conf,即时生效。

在Ubuntu 16系统中,/etc/resolv.conf是一个动态文件,会被/etc/network/interfaces和/etc/resolvconf/resolv.conf.d/base中的DNS设置覆盖,并且重启失效,不能单独配置。

4、Ubuntu 18/22

Ubuntu 18及以上的系统使用netplan管理,相应的网络配置文件也与以前版本不同,保存在/etc/netplan/00-installer-config.yaml 

# This is the network config written by subiquity
network:
ethernets:
enp9s0:
addresses:
- 192.168.0.2/24
gateway4: 192.168.0.1
nameservers:
addresses:
- 223.5.5.5
search: []
version: 2

sudo netplan generate                       #重新加载配置

sudo netplan apply                            #使配置生效

补充一点,Ubuntu 18/22系统无线网卡配置:/etc/netplan/00-installer-config-wifi.yaml 

# This is the network config written by subiquity
network:
version: 2
wifis:
wlp12s0:
access-points:
SSID-NAME:
password: *******
dhcp4: true

5、修改网卡名字

较新一点的linux系统内核使用udev规则配置网卡名字,抛弃了传统的ethX命名方式,经常看到ensXXX或enpXXX的网卡名字。但在实际生产环境中,有些应用程序还是在调用ethX形式的网卡名字。修改网卡名字有以下两种方法:

i. 修改/etc/default/grub(Ubuntu)或/etc/sysconfig/grub(CentOS Rocky),重启系统后生效。


GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

ii. 首先生成/etc/udev/rules.d/70-custom-ifnames.rules文件,配置为:

SUBSYSTEM=="net",ACTION=="add",ATTRaddress=="00:0c:29:ac:77:6a",ATTRtype=="1",NAME="eth0"

把MAC地址为"00:0c:29:ac:77:6a"的网卡名字命名为“eth0”。

然后修改网络配置信息文件,把里面的ensX或enpX修改为eth0,重新应用配置文件或重启系统生效。

系统发行商推荐使用第二种方法,第一种方法可能带来命名上的风险。

以上是关于不同Linux发行版本网络配置汇总的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习汇总

Linux基础学习系列

linux查看系统类型和版本

因地制宜,携手共赢 | 亚太地区游戏发行商洞察

linux管理汇总

三大liunx主流发行版本