0719_Linux基础(13)

407 阅读4分钟

基本网络配置

Red Hat Enterprise Linux 7 与 CentOS 7 中默认的网络服务由 NetworkManager (以前的叫做 network)提供,这是动态控制及配置网络的守护进程,它用于保持当前网络设备及连接处于工作状态。它提供了一些工具, 比如 nmcli(用于配置网络的命令行工具),通过这些工具可以很方便的对网络进行管理。

NetworkManager 的配置文件保存在 /etc/sysconfig/network-scripts/ 目录下。

对于任何一个设备而言,可以存在多个连接,方便切换配备,但是同一时间只能有一个连接处于活动状态。

设备指的是网络接口,连接则表示的是可以为设备配置的设置的集合。

查看联网信息

nmcli dev status 命令可以显示所有网络设备的状态。

nmcli con show 命令可显示所有连接的列表,如果仅列出活动的连接,可以加上 --active 选项。

添加网络连接

nmcli con add 用于添加新的网络连接。

控制网络连接

nmcli con up 命令能够激活指定的连接,通过指定连接的名称,而非网络接口的名称。

nmcli dev dis 命令关闭网络接口的连接,通过指定网络接口的名称将其关闭。

修改连接配置文件

NetworkManager 连接具有两种类型的设置,一种是静态连接,由管理员配置并存储在 /etc/sysconfig/network-scripts/ifcfg-* 的配置文件里,另一种是活动连接数据,这些数据是从 DHCP 服务器中获得,不会持久获得。可以通过 nmcli con show(携带连接名称) 命令进行查看。

nmcli con mod 命令用于更改连接的设置,这些更改还会保存到对应的配置文件中去(/etc/sysconfig/network-scripts/ifcfg-*)。

删除网络连接

nmcli con del 命令能够删除连接,删除对应的配置文件,同时断开与设备的连接, 通过指定连接的名称将其删除。

常用 nmcli 关键命令汇总

命令用途
nmcli dev status显示所有网络接口的 NetworkManager 状态
nmcli con show列出所有连接
nmcli con show name列出名为 name 连接的当前配置
nmcli con add con-name name添加名为 name 的新连接
nmcli con mod name修改名为 name 连接的配置
nmcli con reload重新加载配置文件
nmcli con up name激活名为 name 的连接
nmcli dev dis dev停用 dev 的网络接口,并断开当前连接
nmcli con del name删除 名为 name 的连接及配置文件,并断开当前连接

编辑网络配置文件

通过 nmcli con mod 命令修改的配置会自动保存到对应的配置文件中,但我们也能够手动去修改配置文件,然后重启配置。

通常配置文件会存放在 /etc/sysconfig/network-scripts/ 目录,以 ifcfg-name 的方式命名。

使用 nmcli 与 直接修改文件的比较

nmcli con modifcfg-* 文件影响
ipv4.mothod manualBOOTPROTO=noneIPv4 以静态方式配置
ipv4.mothod autoBOOTPROTO=dhcp从 DHCPv4 服务器中查找配置,如果还设置了静态地址,在从 DHCP 服务器获取信息之前,不会激活静态地址
ipv4.addresses "192.0.2.1/24 192.0.2.254" (老版本可能要使用 ipv4.gateway 单独设置 网关)IPADDR=192.0.2.1 PREFIX=24 GATEWAY=192.0.2.252设置静态IPv4 地址,网络前缀、默认网络,如果设置了多个,则依次以 1、2、3等结尾
ipv4.dns 8.8.8.8DNS=8.8.8.8修改 DNS 服务器
ipv4.dns-search example.comDOMAIN=example.com设置 DOMAIN
ipv4.ignore-auto-dns truePEEERDNS=no忽略来自 DHCP 服务器的 DNS 服务器信息
ipv6.method manualIPV6_AUTOCONF=noIPv6 地址以静态方式配置
ipv6.methodIPV6_AUTOCONF=yes使用路由器播发中的 SLAAC 来配置网络设置
ipv6.method dhcpIPV6_AUTOCONF=no DHCPV6C=YES使用 DHCPv6(而不使用SLAAC)来配置网络设置
ipv6.addresses "2001:db8::a/64 2001:db8::1"IPV6ADDR=2001:db8::a/64 IPV6_DEFAULTGW=2001:db8::1设置静态 IPv6 地址、网络前缀、默认网关, 如设置多个地址,将采用空格分隔
ipv6.dns ...DNS= ...同 IPv4
ipv6.dns-serach ...DOMAIN=...同 IPv4
ipv6.ignore-auto-dns trueIPV6_PEERDNS=no忽略来自 DHCP 服务器的 DNS 信息
connection.autoconnect yesONBOOT=yes系统引导时自动激活此连接
connection.id exxNAME=exx此连接的名称
connection.interface-name ens3DEVICE=ens3连接与具有此名称的网络接口绑定
802-3-ethernet.mac-address ...HWADDR= ...连接与具有此 MAC 地址的网络接口绑定

1.png

2.png

3.png