华子目录
网络配置步骤
1.在配置前先查看虚拟机自动获取的ip地址,网关地址等信息
#第一种:查看网卡名,及其信息
[root@loaclhost ~]# nmcli
#第二种:查看网卡名,及其信息
[root@loaclhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:d5:75:64 brd ff:ff:ff:ff:ff:ff
altname enp3s0
inet 192.168.105.129/24 brd 192.168.105.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fed5:7564/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:d5:75:6e brd ff:ff:ff:ff:ff:ff
altname enp19s0
#查看网卡对应的会话名
[root@loaclhost ~]# nmcli connection
NAME(会话名) UUID TYPE(网卡类型) DEVICE(网卡名)
ens160 574b8330-1b6f-3909-935b-84035ca086cd ethernet ens160
#获取会话信息
nmcli connection show 会话名
[root@loaclhost ~]# nmcli connection show ens160
#获取会话信息(过滤过的)(-i不区分大小写)
[root@loaclhost ~]# nmcli connection show ens160 | grep -i gateway
[root@loaclhost ~]# nmcli connection show ens160 | grep -i dns
[root@loaclhost ~]# nmcli connection show ens160 | grep -i address
2.配置静态ip,网关,dns等信息
方法一:通过命令配置
手动配置linux
网卡的ip
参数:ip地址,掩码,网关,dns服务器
:ipv4.addresses
表示配置的ip
地址,ipv4.gateway
表示配置的网关
,ipv4.method
表示使用手动配置的地址,autoconnect
表示开机自动加载该配置信息到网卡
[root@loaclhost ~]# nmcli connection modify ens160 ipv4.addresses 192.168.105.130/24 ipv4.gateway 192.168.105.2 ipv4.dns 8.8.8.8 ipv4.method manual autoconnect yes
#配置完之后,启动该会话,则原会话自动断开,这时需要重新进行ssh连接
[root@loaclhost ~]# nmcli connection up ens160
#检验Linux是否能够上网
[root@loaclhost ~]# ping www.baidu.com
方法二:图形界面
[root@loaclhost ~]# nmtui
回车之后会弹出一个配置ip地址相关的图形界面
方法三:web界面
1.先查看cockpit.socket服务的状态,当状态为Active: inactive (dead)时,则需要启动该服务
[root@loaclhost ~]# systemctl status cockpit.socket
○ cockpit.socket - Cockpit Web Service Socket
Loaded: loaded (/usr/lib/systemd/system/cockpit.socket; disabled; vendor preset: dis>
Active: inactive (dead)
Triggers: ● cockpit.service
Docs: man:cockpit-ws(8)
Listen: [::]:9090 (Stream)
2.启动cockpit.socket服务
[root@loaclhost ~]# systemctl enable --now cockpit.socket
Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket → /usr/lib/systemd/system/cockpit.socket.
3.启动完之后,查看cockpit.socket服务的状态,当状态为 Active: active (listening)时,则启动成功
[root@loaclhost ~]# systemctl status cockpit.socket
● cockpit.socket - Cockpit Web Service Socket
Loaded: loaded (/usr/lib/systemd/system/cockpit.socket; enabled; vendor preset: disa>
Active: active (listening) since Mon 2023-07-31 13:55:32 CST; 25s ago
Until: Mon 2023-07-31 13:55:32 CST; 25s ago
Triggers: ● cockpit.service
Docs: man:cockpit-ws(8)
Listen: [::]:9090 (Stream)
Process: 7079 ExecStartPost=/usr/share/cockpit/motd/update-motd localhost (code=exit>
Process: 7086 ExecStartPost=/bin/ln -snf active.motd /run/cockpit/motd (code=exited, >
Tasks: 0 (limit: 10774)
Memory: 76.0K
CPU: 18ms
CGroup: /system.slice/cockpit.socket
4.启动成功之后,进入自己window电脑中的浏览器,输入:https://ip地址:9090/
,就可以通过web界面登录上Linux,进行配置。
最后点击ens160
进行配置
3.配置动态ip
[root@server ~]# nmcli connection modify ens160 ipv4.method auto
[root@server ~]# nmcli connection reload
[root@server ~]# nmcli connection up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)
配置会话
添加会话
添加新的会话,type表示指定类型,ifname表示物理网卡名,con-name表示会话名
[root@loaclhost ~]# nmcli connection add type ethernet ifname ens160 con-name static
连接 "static" (35156edc-16c2-4c36-b2fd-3b91a71d50af) 已成功添加。
[root@loaclhost ~]# nmcli connection
NAME UUID TYPE DEVICE
ens160 574b8330-1b6f-3909-935b-84035ca086cd ethernet ens160
static 35156edc-16c2-4c36-b2fd-3b91a71d50af ethernet --
添加完会话之后,配置该会话
[root@loaclhost ~]# nmcli connection modify static ipv4.addresses 192.168.105.131/24 ipv4.gateway 192.186.105.2 ipv4.dns 8.8.8.8 ipv4.method manual autoconnect no
配置完之后,启动该会话,则原会话自动断开,这时需要重新进行ssh连接
[root@loaclhost ~]# nmcli connection up static
给会话添加ip地址
#添加ip地址
[root@loaclhost ~]# nmcli connection modify static +ipv4.addresses 192.168.105.132/24
#添加之后,需要重新进行激活,才能使用该ip地址
[root@loaclhost ~]# nmcli connection up static
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
此时我们会看到:一个网卡有多个ip地址
删除会话的ip地址
[root@loaclhost ~]# nmcli connection modify static -ipv4.addresses 192.168.105.132/24
#删除完之后,需要重新激活
[root@loaclhost ~]# nmcli connection up static
此时我们会看到:该网卡少了一个ip地址,只有一个了
关闭会话
[root@loaclhost ~]# nmcli connection down static
down之后,该会话会断开连接,这时就需要连接另一个会话
总结
一个网卡可以有多个会话
一个会话可以有多个地址
总的来说就是:一个网卡可以有多个地址
路由route
在 Linux 系统中,route
命令用于显示和修改 IP 路由表。它允许用户查看当前的路由信息,包括目的网络、网关、接口等信息,并且还可以用来添加、删除或修改路由条目。
当你执行 route
命令而不带任何参数时,它会显示当前系统的路由表:
[root@server ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
输出解释:
Destination
: 目标网络的地址。Gateway
: 到达目标网络的网关地址。如果是直接连接的网络,通常会用*
表示。Genmask
: 目标网络的掩码。Flags
: 路由标志。常见的标志有U
(up,表示路由是活跃的),G
(gateway,表示下一跳是网关),H
(host,表示目标是一个主机),等等。Metric
: 路由的度量值,用于决定选择哪条路由。Ref
: 路由的引用计数。Use
: 路由被使用的次数。Iface
: 路由使用的网络接口。
route
命令也支持一些选项来添加、删除或修改路由条目。例如:
-
添加路由:
route add -net 目标网络 netmask 掩码 gw 网关地址 dev 接口名
-
删除路由:
route del -net 目标网络 netmask 掩码 gw 网关地址 dev 接口名
-
修改路由(实际上需要先删除再添加):
route del ... route add ...
需要注意的是,在现代的 Linux 发行版中,route
命令已经被 ip route
命令所取代,后者提供了更强大和灵活的功能。因此,推荐你使用 ip route
来查看和修改路由表。例如:
查看路由表:
ip route show
添加路由:
ip route add 目标网络/子网掩码 via 网关地址 dev 接口名
删除路由:
ip route del 目标网络/子网掩码
ip route
命令提供了更多的选项和更直观的方式来管理路由表,因此它通常是首选的工具。
[root@server ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.80.2 0.0.0.0 UG 100 0 0 ens160
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.80.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160
centos7.9的网卡配置文件
CentOS 7.9
的网卡配置文件路径一般位于/etc/sysconfig/network-scripts/
目录下。在这个目录下,你会找到以ifcfg-
开头的文件,这些文件对应于系统上的各个网络接口
。例如,如果你的网络接口名
为ens33
,那么相应的网卡配置文件将会是ifcfg-ens33
。- 网卡配置文件通常包含了一系列的网络配置参数,如IP地址、子网掩码、网关、DNS服务器等。这些参数可以通过文本编辑器(如vim或nano)进行编辑,以修改网络配置。
- 每写一个
ifcfg-
开头的文件,就是一个新的网络会话
以下是一些常见的网卡配置参数及其说明:
TYPE=Ethernet
:设置网卡类型
为以太网
。DEVICE=ens33
:设置网卡设备的名称
。BOOTPROTO=static
:设置网卡的配置方式
,static
或none
表示使用静态IP地址,dhcp
表示动态获取地址。IPADDR=192.168.1.100
:设置网卡的IP地址
。NETMASK=255.255.255.0
:设置网卡的子网掩码
。GATEWAY=192.168.1.1
:设置网卡的默认网关
地址。DNS=8.8.8.8
:设置DNS服务器的IP地址。ONBOOT=yes
:设置网卡是否在Linux操作系统启动时激活。
NAME=ens33
:网卡的会话名
修改网卡配置文件后,通常需要重启网络服务或整个系统以使配置生效。
- 第一种方式:修改完网卡配置文件后
nmcli connection reload
再nmcli connection up 会话名
激活网卡 - 第二种方式:可以使用
systemctl restart NetworkManager
命令来重启网络服务。 - 建议使用第一种方式,因为第一种方式仅仅针对单个网卡进行激活,第二种方式会重启该系统中的所有网卡的网络服务。如果在一台主机上有多个网卡提供服务,使用第二种的话会影响其他业务。
[root@openEuler-node1 ~]# cd /etc/sysconfig/network-scripts/
[root@openEuler-node1 network-scripts]# ls
ifcfg-eth0 ifcfg-eth1
[root@openEuler-node1 network-scripts]# cat ifcfg-eth0 #静态ip地址
TYPE=Ethernet #设置网卡类型为以太网
DEVICE=eth0 #ip a后显示的设备网卡名
NAME=eth0 #会话名
ONBOOT=yes #在系统启动时,该网络接口应该被激活并启用
BOOTPROTO=none #设置网卡的配置方式,static或none表示使用静态IP地址,dhcp表示动态获取地址
IPADDR1=192.168.54.137 #ip地址
NETMASK1=255.255.255.0 #子网掩码
DNS1=114.114.114.114 #dns地址
GATEWAY1=192.168.54.2 #网关
[root@openEuler-node1 network-scripts]# cat ifcfg-eth1 #动态ip地址
TYPE=Ethernet #设置网卡类型为以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp #设置网卡的配置方式,static或none表示使用静态IP地址,dhcp表示动态获取地址
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eth0 #网卡会话名
UUID=aca6fc9b-f888-46db-9c7c-3ed0749f7d12
DEVICE=eth0 #ip a后的网卡设备名
ONBOOT=yes #在系统启动时,该网络接口应该被激活并启用
下面是对这些参数的解释:
TYPE=Ethernet
:指定接口类型为以太网(Ethernet)
。PROXY_METHOD=none
:表示不使用代理方法
配置网络。BROWSER_ONLY=no
:这个参数可能不是所有系统都支持,但在一些配置中可能表示该网络接口不仅用于浏览器访问,而是可以用于所有类型的网络流量。BOOTPROTO=dhcp
:指定网络接口的启动协议为DHCP
(动态主机配置协议),意味着网络接口将从DHCP服务器获取IP地址和其他网络配置信息。DEFROUTE=yes
:表示该接口是默认路由接口
,即所有没有明确指定路由的流量都将通过此接口发送
。IPV4_FAILURE_FATAL=no
:如果IPv4配置失败,不会将其视为致命错误,系统可以继续启动
。IPV6INIT=yes
:启用IPv6初始化。IPV6_AUTOCONF=yes
:启用IPv6自动配置,允许网络接口自动获取IPv6地址
。IPV6_DEFROUTE=yes
:表示该接口是IPv6的默认路由接口
。IPV6_FAILURE_FATAL=no
:如果IPv6配置失败,不会将其视为致命错误
。NAME=eth0
:网卡会话名
的名称是eth0
。UUID=aca6fc9b-f888-46db-9c7c-3ed0749f7d12
:这是一个全局唯一标识符(UUID),用于在系统中唯一标识这个网络接口。DEVICE=eth0
:指定实际设备(设备网卡名
)的名称是eth0
。ONBOOT=yes
:表示在系统启动时,该网络接口应该被激活并启用
。
rhel9的网卡配置文件
- 在
RHEL 9(Red Hat Enterprise Linux 9)
中,网卡配置文件的路径经历了一些变化。从RHEL 9.0
开始,NetworkManager
以key-file
格式将新的网络配置保存到/etc/NetworkManager/system-connections/
目录下,而不是传统的/etc/sysconfig/network-scripts/
目录。这意味着,对于新创建的网络连接,其配置文件将位于/etc/NetworkManager/system-connections/
目录下,并以.nmconnection
为文件扩展名。
[root@rhel9 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:18:30:93 brd ff:ff:ff:ff:ff:ff
altname enp3s0
inet 192.168.54.129/24 brd 192.168.54.255 scope global dynamic noprefixroute ens160
valid_lft 1050sec preferred_lft 1050sec
inet6 fe80::20c:29ff:fe18:3093/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@rhel9 ~]# cd /etc/NetworkManager/system-connections/
[root@rhel9 system-connections]# ls
ens160.nmconnection
对于RHEL 9
中的网卡配置,你可以采取以下几种方法之一:
-
使用
NetworkManager
的图形界面或命令行工具(如nmcli):- 这些工具允许你以图形化或命令行的方式配置网络接口,而无需直接编辑配置文件。
- 配置完成后,
NetworkManager
会自动将配置保存为key-file
格式的文件。
-
直接编辑
key-file
格式的配置文件:- 如果需要,你可以直接编辑
/etc/NetworkManager/system-connections/
目录下的.nmconnection
文件来配置网络接口。 - 但是,请注意,直接编辑这些文件可能会因为语法错误而导致配置失败,因此建议使用
NetworkManager
的工具进行配置。
- 如果需要,你可以直接编辑
[root@rhel9 system-connections]# cat ens160.nmconnection #动态获取ip
[connection]
id=ens160
uuid=8e652d76-d1f6-321a-88c3-3a78c9b6c789 #连接的唯一标识符(UUID),用于唯一标识这个网络连接配置。
type=ethernet #指定连接类型为以太网。
autoconnect-priority=-999 #自动连接的优先级,这里设置为-999,意味着这个连接在自动连接时会被放在很低的优先级,可能不会自动连接。
interface-name=ens160
timestamp=1722362266 #配置最后修改的时间戳(这里的时间戳可能是示例,实际应为自Unix纪元(1970年1月1日)以来的秒数)。
[ethernet] #这个部分在这个配置文件中是空的,通常用于指定以太网接口特有的选项,如MAC地址克隆等。
[ipv4]
method=auto #通过动态自动获取ip地址。静态为manual,动态获取为auto
[ipv6]
addr-gen-mode=eui64 #指定IPv6地址生成模式为基于EUI-64(即基于MAC地址生成IPv6地址)。
method=auto #指定IPv6配置方法为自动。
[proxy] #这个部分在提供的配置中未包含具体内容,但通常用于配置网络代理设置,如HTTP、HTTPS和FTP等协议的代理服务器地址和端口。
[root@node1 system-connections]# cat ens160.nmconnection #静态设置ip地址
[connection]
id=hahaha #会话名
uuid=c98e107e-e075-3f3e-939a-3079f6f721dd
type=ethernet #以太网类型
autoconnect-priority=-999
interface-name=ens160 #实际设备网卡接口名(物理名)
timestamp=1720108563
[ethernet]
[ipv4]
address1=192.168.54.4/24,192.168.54.2 #ip地址/掩码,网关
dns=114.114.114.114; #dns地址;
method=manual #静态为manual,动态获取为auto
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy] #这个部分在提供的配置中未包含具体内容,但通常用于配置网络代理设置,如HTTP、HTTPS和FTP等协议的代理服务器地址和端口。
修改网卡配置文件后,通常需要重启网络服务或整个系统以使配置生效。
- 第一种方式:修改完网卡配置文件后
nmcli connection reload
再nmcli connection up 会话名
激活网卡 - 第二种方式:可以使用
systemctl restart NetworkManager
命令来重启网络服务。 - 建议使用第一种方式,因为第一种方式仅仅针对单个网卡进行激活,第二种方式会重启该系统中的所有网卡的网络服务。如果在一台主机上有多个网卡提供服务,使用第二种的话会影响其他业务。
如何设置网卡名为ethX
- 注意:
X为数字
- 将
net.ifnames
参数设置为0
,如果想打开的话,设置为1
就可以了(仅适用于CentOS7,rhel7,openEuler系列
),设置完后,需要重启有效
[root@openEuler_server ~]# grubby --update-kernel ALL --args net.ifnames=0
如何永久设置selinux
为关闭状态
- 将
selinux
参数设置为0
,设置完后,需要重启有效.。(如何想打开selinux
的话,就需要修改selinux
的配置文件)
[root@server ~]# grubby --update-kernel ALL --args selinux=0
查看网卡状态
[root@yum_client ~]# nmcli networking
enabled
[root@yum_client ~]# nmcli networking
connectivity help off on
#on表示启动
#off表示禁用
查看ip
[root@yum_client ~]# hostname -I
172.25.254.144