文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、网络管理
RHEL8与RHEL7
在RedHat7上支持2种网络管理方式network.service和NetworkManager.service(简称NM)。默认情况下,这2个服务默认都是开启的,两个服务有可能冲突一般情况是禁用NetworkManager。
在RedHat8弃上,已废弃network.service,因此只能通过NM进行网络配置,包括动态ip和静态ip。换言之,在rhel8上,必须开启NM,否则无法使用网络。最大的好处就是实现了自动识别网络和管理配置网络,如wifi、蓝牙、智能网卡等等。
网卡和配置文件一起形成网络功能,同一个网卡可以有多个配置,但只能有一个处于活动状态。
网卡文件存放的位置:
[root@server ~]# cd /etc/sysconfig/network-scripts/
[root@server network-scripts]# ls
ifcfg-ens160
网卡管理
网卡接口:ifconfig
显示当前活动的网卡。-a
显示所有状态的网卡。
命名规则:
ens160
以太网 | en |
WLAN接口 | wl |
板载 | o |
热插拔 | s |
PCI插槽 | p |
配置文件管理
修改网络配置文件的方法:
1.图形界面修改
2.直接编辑网卡配置文件
/etc/sysconfig/network-scripts/
此目录下都是跟网络功能相关的配置的文件。
[root@server ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
[root@server ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet //网络类型:Ethernet表示以太网
PROXY_METHOD=none //引导协议:none
BROWSER_ONLY=no //只是浏览器:否
BOOTPROTO=none //网卡的引导协议:none
DEFROUTE=yes //默认路由:是
IPV4_FAILURE_FATAL=no //是不开启IPV4致命错误检测:否
IPV6INIT=yes //IPV6是否自动初始化:是
IPV6_AUTOCONF=yes //IPV6是否自动配置:是
IPV6_DEFROUTE=yes //IPV6是否可以为默认路由:是
IPV6_FAILURE_FATAL=no //是不开启IPV6致命错误检测:no
IPV6_ADDR_GEN_MODE=stable-privacy //IPV6地址生成模型:stable-privacy
NAME=ens160 //配置名称:ens160
UUID=6fbf339a-a091-461f-87ef-5eea1d1add2a //通用唯一识别码
DEVICE=ens160 //配置所绑定的网卡
ONBOOT=yes //启动时是否激活:是
IPADDR=192.168.2.100 //IPv4地址
PREFIX=24 //子网掩码:24或者255.255.255.0两种格式
GATEWAY=192.168.2.254 //网关
DNS1=192.168.2.254 //DNS域名解析
网卡配置文件的重要参数:
TYPE=ethernet --网络类型,ethernet表示以太网
BOOTPROTO=none --引导协议,none|dhcp|bootp
NAME=eth0 --配置名称
DEVICE=ens33 - -配置所绑定的网卡
ONBOOT=yes --启动时是否激活 yes|no
IPADDR=192.168.10.8 --IPv4地址
NETMASK=255.255.255.0 --掩码
GATEWAY=192.168.10.1 --网关
DNS1=192.168.10.1 --DNS
直接编辑网卡配置文件需要重启network配置才会生效。
systemctl restart network.service或
/etc/init.d/network restart
3.使用nmcli 配置网络:
NetworkManager是2004年Red Hat启动的项目,旨在能够让Linux用户更轻松地处理现代网络需求,尤其是无线网络,能自动发现网卡并配置ip地址。
类似在手机上同时开启wifi和蜂窝网络,自动探测可用网络并连接,无需手动切换。
虽然初衷是针对无线网络,但在服务器领域,NetworkManager获得了成功。
NetworkManager能管理各种网络
有线网卡、无线网卡、动态IP、静态IP、以太网、非以太网、物理网卡、虚拟网卡。
使用方法
nmcli
:命令行最常用的工具。
nmtui:在shell终端开启文本图形界面。
Freedesktop applet:如GNOME上自带的网络管理工具。
cockpit:redhat自带的基于web图形界面的"驾驶舱"工具,具有dashborad和基础管理功能。
为什么要用NetworkManager?
工具齐全:命令行、文本界面、图形界面、web。
广纳天地:纳管各种网络,有线、无线、物理、虚拟。
参数丰富:多达200多项配置参数(包括ethtool参数)。
一统江湖:RedHat系、Suse系、Debian/Ubuntu系,均支持。
大势所趋:下一个大版本的rhel只能通过NM管理网络。
-
nmcli
查看IP。类似于ifconfig、ip addr。 -
nmcli connection add type ethernet con-name ens224 ifname ens224 ipv4.addresses 192.168.2.101/24 ipv4.gateway 192.168.2.254 ipv4.method manual
创建connection,配置静态IP。等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动。 -
nmcli connection add type ethernet con-name ens224 ifname ens224 ipv4.method auto
创建connection,配置动态IP。等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动。 -
nmcli connection modify ens224 ipv4.addresses '192.168.2.102/24'
修改IP,非交互式。 -
nmcli connection edit ens224
nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
Edit ‘addresses’ value: 192.168.2.103/24
Do you also want to set ‘ipv4.method’ to ‘manual’? [yes]: yes
nmcli ipv4> save
nmcli ipv4> activate
nmcli ipv4> quit
修改ip,交互式。 -
nmcli connection up ens224
启用connection,相当于ifup。 -
nmcli connection down ens224
停止connection,相当于ifdown。 -
nmcli connection delete ens224
删除connection,类似于ifdown并删除ifcfg。 -
nmcli connection show
查看connection列表。 -
nmcli connection show ens224
查看connection详细信息。 -
nmcli connection reload
重载所有ifcfg或route到connection,不会立即生效。 -
nmcli connection load /etc/sysconfig/network-scripts/ifcfg-ens224
nmcli connection load /etc/sysconfig/network-scripts/route-ensX
重载指定ifcfg或route到connection,不会立即生效。 -
nmcli connection up ens224
nmcli device reapply ens224
nmcli device connect ens224
立即生效connection,有3种方法。 -
nmcli device
查看device列表。 -
nmcli device show
查看所有device详细信息。 -
nmcli device show ens224
查看指定device的详细信息。 -
nmcli device connect ens224
激活网卡。 -
nmcli radio all off
关闭无线网络,NM默认启用无线网络。 -
nmcli networking
查看NM纳管状态。 -
nmcli networking on
开启NetworkManager纳管。 -
nmcli networking off
关闭NetworkManager纳管,谨慎执行。 -
nmcli monitor
监听事件。 -
nmcli
查看NM本身状态。 -
nm-online
检测NM是否在线可用。
1.查看所有网卡的连接:
[root@server ~]# nmcli connection show //显示所有连接
NAME UUID TYPE DEVICE
ens160 6fbf339a-a091-461f-87ef-5eea1d1add2a ethernet ens160
virbr0 a9e8a482-96fa-4a27-b88b-c1f32a9f4141 bridge virbr0
ens224 ead4b727-80b1-48dd-ac56-1577b7d8f8ab ethernet --
[root@server ~]# nmcli connection show --active //显示所有活动连接
NAME UUID TYPE DEVICE
ens160 6fbf339a-a091-461f-87ef-5eea1d1add2a ethernet ens160
virbr0 a9e8a482-96fa-4a27-b88b-c1f32a9f4141 bridge virbr0
2.查看网卡硬件设备信息:
[root@server ~]# nmcli device show
GENERAL.DEVICE: ens160
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:0C:29:3C:1E:7D
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ens160
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/10
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.2.100/24
IP4.GATEWAY: 192.168.2.254
IP4.ROUTE[1]: dst = 192.168.2.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.2.254, mt = 100
IP4.DNS[1]: 192.168.2.254
IP6.ADDRESS[1]: fe80::b3a4:5365:97d3:b6de/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
省略
3.显示所有设备状态信息:
[root@server ~]# nmcli device status //显示所有设备状态信息
DEVICE TYPE STATE CONNECTION
ens160 ethernet connected ens160
virbr0 bridge connected (externally) virbr0
ens224 ethernet disconnected --
lo loopback unmanaged --
virbr0-nic tun unmanaged --
4.创建网络连接
创建一个文件名为ens224,并且与物理网卡名为ens224绑定。
[root@server ~]# nmcli connection add type ethernet con-name ens224 ifname ens224
Connection 'ens224' (ead4b727-80b1-48dd-ac56-1577b7d8f8ab) successfully added.
[root@server ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens160 6fbf339a-a091-461f-87ef-5eea1d1add2a ethernet ens160
virbr0 a9e8a482-96fa-4a27-b88b-c1f32a9f4141 bridge virbr0
ens224 ead4b727-80b1-48dd-ac56-1577b7d8f8ab ethernet --
再次创建一个文件名为ens225,同样与物理网卡名为ens224绑定,并且
设置ip地址及网关#nmcli connection add type ethernet con-name eth160 ifname ens160
[root@server ~]# nmcli connection add type ethernet con-name ens225 ifname ens224 ipv4.addresses 192.168.2.104/24 ipv4.gateway 192.168.2.254 ipv4.dns 192.168.2.254 autoconnect yes ipv4.method manual
Connection 'ens225' (78eb8136-b680-4f84-8066-f3162e7fec41) successfully added.
[root@server ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens160 6fbf339a-a091-461f-87ef-5eea1d1add2a ethernet ens160
ens225 78eb8136-b680-4f84-8066-f3162e7fec41 ethernet ens224
virbr0 a9e8a482-96fa-4a27-b88b-c1f32a9f4141 bridge virbr0
ens224 ead4b727-80b1-48dd-ac56-1577b7d8f8ab ethernet --
5.查看接口地址
[root@server ~]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.100 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::b3a4:5365:97d3:b6de prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:3c:1e:7d txqueuelen 1000 (Ethernet)
RX packets 35880 bytes 4947783 (4.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3576 bytes 570549 (557.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
省略
[root@server ~]# ip addr
省略
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:3c:1e:7d brd ff:ff:ff:ff:ff:ff
inet 192.168.2.100/24 brd 192.168.2.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::b3a4:5365:97d3:b6de/64 scope link noprefixroute
valid_lft forever preferred_lft forever
省略
[root@server ~]# nmcli connection show ens160
省略
IP4.ADDRESS[1]: 192.168.2.100/24
IP4.GATEWAY: 192.168.2.254
IP4.ROUTE[1]: dst = 192.168.2.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.2.254, mt = 100
IP4.DNS[1]: 192.168.2.254
IP4.DNS[2]: 8.8.8.8
IP6.ADDRESS[1]: fe80::b3a4:5365:97d3:b6de/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
6.修改某个连接的配置
[root@server ~]# nmcli connection modify ens225 ipv4.addresses 192.168.2.106/24 ipv4.gateway 192.168.2.254 ipv4.dns 8.8.8.8 ipv4.method manual
增加某个值
[root@server ~]# nmcli connection modify ens225 +ipv4.dns 114.114.114.114
[root@server ~]# nmcli connection up ens225
[root@server ~]# nmcli connection show ens225
IP4.ADDRESS[1]: 192.168.2.106/24
IP4.GATEWAY: 192.168.2.254
IP4.ROUTE[1]: dst = 192.168.2.0/24, nh = 0.0.0.0, mt = 101
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.2.254, mt = 101
IP4.DNS[1]: 8.8.8.8
IP4.DNS[2]: 114.114.114.114
IP6.ADDRESS[1]: fe80::da2e:48c3:95c4:733/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 101
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
7.激活接口地址的几种方
8.删除某个连接
[root@server ~]# nmcli connection delete ens224
Connection 'ens224' (ead4b727-80b1-48dd-ac56-1577b7d8f8ab) successfully deleted.
9.断开某个连接
[root@server ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens160 6fbf339a-a091-461f-87ef-5eea1d1add2a ethernet ens160
ens225 78eb8136-b680-4f84-8066-f3162e7fec41 ethernet ens224
virbr0 a9e8a482-96fa-4a27-b88b-c1f32a9f4141 bridge virbr0
[root@server ~]# nmcli connection down ens225
Connection 'ens225' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/14)
[root@server ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens160 6fbf339a-a091-461f-87ef-5eea1d1add2a ethernet ens160
virbr0 a9e8a482-96fa-4a27-b88b-c1f32a9f4141 bridge virbr0
ens225 78eb8136-b680-4f84-8066-f3162e7fec41 ethernet --
10.激活某个连接
# nmcli connection up ensXXX
[root@server ~]# nmcli connection up ens225
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/15)
11.断开设备连接
# nmcli device disconnect ensXXX
[root@server ~]# nmcli device disconnect ens224
Device 'ens224' successfully disconnected.
12.打开设备连接
# nmcli device connect ensXXX
[root@server ~]# nmcli device connect ens224
Device 'ens224' successfully activated with '78eb8136-b680-4f84-8066-f3162e7fec41'.
二、路由
1.查看IP地址
ip addr
ifconfig
2.查看路由信息
ip route
route -n
[root@server ~]# ip route
default via 192.168.2.254 dev ens160 proto static metric 100
default via 192.168.2.254 dev ens224 proto static metric 101
192.168.2.0/24 dev ens160 proto kernel scope link src 192.168.2.100 metric 100
192.168.2.0/24 dev ens224 proto kernel scope link src 192.168.2.101 metric 101
[root@server ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.2.254 0.0.0.0 UG 100 0 0 ens160
0.0.0.0 192.168.2.254 0.0.0.0 UG 101 0 0 ens224
192.168.2.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160
192.168.2.0 0.0.0.0 255.255.255.0 U 101 0 0 ens224
3.添加路由信息
[root@server ~]# ip route add 192.168.3.0/24 via 192.168.2.254 dev ens224
[root@server ~]# ip route
default via 192.168.2.254 dev ens160 proto static metric 100
default via 192.168.2.254 dev ens224 proto static metric 101
192.168.2.0/24 dev ens160 proto kernel scope link src 192.168.2.100 metric 100
192.168.2.0/24 dev ens224 proto kernel scope link src 192.168.2.101 metric 101
192.168.3.0/24 via 192.168.2.254 dev ens224
4.删除路由
[root@server ~]# ip route del 192.168.3.0/24
[root@server ~]# ip route
default via 192.168.2.254 dev ens160 proto static metric 100
default via 192.168.2.254 dev ens224 proto static metric 101
192.168.2.0/24 dev ens160 proto kernel scope link src 192.168.2.100 metric 100
192.168.2.0/24 dev ens224 proto kernel scope link src 192.168.2.101 metric 101
三、其他网络信息配置
1.主机名修改
通过修改/etc/hostname 文件,修改后重启系统生效。
[root@server ~]# vim /etc/hostname //编辑hostname文件修改主机名
[root@server ~]# cat /etc/hostname //查看当前主机名
server
2.使用hostnamectl修改
[root@server ~]# hostnamectl set-hostname server //修改主机名
[root@server ~]# bash
3.获取主机名hostname配置本地名称解析。
修改/etc/hosts
文件
格式:IP地址 主机名 别名
192.168.2.100 server.com server
[root@server ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
4.DNS解析配置文件
文件/etc/resolv.conf
[root@server ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.2.254
nameserver 8.8.8.8
nameserver 114.114.114.114
5.网络端口侦听和网络连接信息查看
netstat
-r 显示路由信息
-t 显示TCP连接
-u 显示UDP连接
-n 以数字方式显示端口和ip
-l 显示listen状态的连接
-p 显示监听套接字的进程名和PID
-a all
-tunalp
ss
选项同netstat