Linux网络管理

网络配置步骤

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:设置网卡的配置方式staticnone表示使用静态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 reloadnmcli 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地址
DEVICE=eth0      #ip a后显示的设备网卡名
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     #网关
NAME=eth0           #会话名
[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开始,NetworkManagerkey-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中的网卡配置,你可以采取以下几种方法之一:

  1. 使用NetworkManager的图形界面或命令行工具(如nmcli)

    • 这些工具允许你以图形化或命令行的方式配置网络接口,而无需直接编辑配置文件。
    • 配置完成后,NetworkManager会自动将配置保存为key-file格式的文件。
  2. 直接编辑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 reloadnmcli 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 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

^~^前行者~~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值