网络管理

网络管理

一、IP

说明:
使用ip命令配置的网络配置可以立即生效但系统重启后配置会丢失

配置IP地址

使用ip命令为接口配置地址,命令格式如下,其中 interface-name 为网络接口名。

ip address [ add | del ] x.x.x.x/mask dev interface-name
配置静态地址

在root权限下,配置静态IP地址,使用示例如下:

$ ip address add 192.168.0.10/24 dev enp3s0

在root权限下,查看配置的网口:

$ ip addr show dev enp3s0
配置多个地址

ip 命令支持为同一接口分配多个地址,可在root权限下重复多次使用 ip 命令实现分配多个地址。使用示例如下:

$ ip address add 192.168.2.223/24 dev enp4s0
$ ip address add 192.168.4.223/24 dev enp4s0
$ ip addr

3: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:aa:da:e2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.203.12/16 brd 192.168.255.255 scope global dynamic noprefixroute enp4s0
       valid_lft 8389sec preferred_lft 8389sec
    inet 192.168.2.223/24 scope global enp4s0
       valid_lft forever preferred_lft forever
    inet 192.168.4.223/24 scope global enp4s0
       valid_lft forever preferred_lft forever
    inet6 fe80::1eef:5e24:4b67:f07f/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

配置静态路由

如果需要静态路由,可使用 ip route add 命令在路由表中添加,使用 ip route del 命令删除。最常使用的 ip route 命令格式如下:

$ ip route [ add | del | change | append | replace ] destination-address

查看路由表:

$ ip route

在主机地址中添加一个静态路由,在 root 权限下,使用以下命令格式:

$ ip route add 192.168.2.1 via 10.0.0.1 [dev interface-name]
# 192.168.2.1是目的主机的ip,10.0.0.1是默认网关,dev ethXX是出去的网口

添加到某个网段的静态路由:

$ ip route add 192.168.2.0/24 via 10.0.0.1 [dev interface-name]
#表示到达192.168.2.0-192.168.2.255网段的路由

添加默认的网关路由:

$ ip route add default via XX.XX.XX.XX ethX

二、使用nmcli命令

说明:
使用nmcli命令配置的网络配置可以立即生效且系统重启后配置也不会丢失。

nmcli介绍

nmcli是NetworkManager的一个命令行工具,它提供了使用命令行配置由NetworkManager管理网络连接的方法。nmcli命令的基本格式为:

nmcli [OPTIONS] OBJECT { COMMAND | help }

其中,OBJECT选项可以是general、networking、radio、connection或device等。在日常使用中,最常使用的是-t, --terse(用于脚本)、-p, --pretty选项(用于用户)及-h, --help选项,用户可以使用“ nmcli help”获取更多参数及使用信息。

$ nmcli help

常用命令使用举例如下:

  • 显示NetworkManager状态:

    $ nmcli general status

  • 显示所有连接:

    $ nmcli connection show

  • 只显示当前活动连接,如下所示添加 -a, --active:

    $ nmcli connection show --active

  • 显示由NetworkManager识别到的设备及其状态:

    $ nmcli device status

  • 使用nmcli工具启动和停止网络接口,在root权限下执行如下命令:

    # nmcli connection up id enp3s0 # nmcli device disconnect enp3s0

设备管理

连接到设备

使用如下命令,NetworkManager将连接到对应网络设备,尝试找到合适的连接配置,并激活配置。

# nmcli device connect "$IFNAME"

说明:

如果不存在相应的配置连接,NetworkManager将创建并激活具有默认设置的新配置文件。

断开设备连接

使用如下命令,NetworkManager将断开设备连接,并防止设备自动激活。

# nmcli device disconnect "$IFNAME"

设置网络连接

列出目前可用的网络连接:nmcli con show

$ nmcli con show
NAME        UUID                                  TYPE      DEVICE
有线连接 1  ffce71f8-6121-3024-84b5-192f50f90d25  ethernet  ens160

说明:
输出结果中的NAME字段代表连接ID(名称)。

添加一个网络连接会生成相应的配置文件,并与相应的设备关联。检查可用的设备,方法如下:

nmcli dev status
$ nmcli dev status
DEVICE  TYPE      STATE   CONNECTION
ens160  ethernet  已连接  有线连接 1
lo      loopback  未托管  --
配置静态IP连接

添加静态 IPv4 配置的网络连接,可使用以下命令:

nmcli c m ens33 ipv4.address 192.168.80.10/24  # 修改 IP 地址和子网掩码
nmcli c m ens33 +ipv4.addresses 192.168.80.100/24
nmcli c m ens33 ipv4.method manual             # 修改为静态配置,默认是 auto
nmcli c m ens33 ipv4.gateway 192.168.80.2      # 修改默认网关
nmcli c m ens33 ipv4.dns 192.168.80.2          # 修改 DNS
nmcli c m ens33 +ipv4.dns 114.114.114.114      # 添加一个 DNS
nmcli c m ens33 ipv6.method ignored            # 将 IPv6 禁用,针对CentOS8,三个可选项:disabled、auto、manual
nmcli c m ens33 connection.autoconnect yes     # 开机启动

也可以浓缩成一条命令:

nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.0.10/24 ipv4.gateway 192.168.0.1 ipv4.dns 8.8.8.8 connection.autoconnect yes 

如果配置成DHCP自动获取:

nmcli connection modify ens33 ipv4.method auto

其实它是帮你写到文件/etc/NetworkManager/system-connections/ens33.nmconnection里。也可以直接编辑该文件修改地址。

[root@localhost ~]# cat /etc/NetworkManager/system-connections/ens33.nmconnection
[connection]
id=ens33
uuid=da477dd2-3ff8-3f1c-9b2f-f6e024c86477
type=ethernet
autoconnect-priority=-999
interface-name=ens33
timestamp=1733448132

[ethernet]

[ipv4]
address1=192.168.0.10/24,192.168.0.1
dns=8.8.8.8;
method=manual

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

[proxy]

配置完如果你之前没有配置过地址可以使用systemctl restart NetworkManager即可生效,但是如果之前配置过其它地址需要敲三个指令生效,分别是:

nmcli con reload ens33
nmcli con down ens33
nmcli con up ens33

三、通过ifcfg文件配置网络

说明:
通过ifcfg文件配置的网络配置不会立即生效,需要在root权限下执行ifup interface-name命令以激活网络配置后才生效(interface-name处填写具体的网络接口名)。

配置静态网络

以enp4s0网络接口进行静态网络设置为例,通过在root权限下修改ifcfg文件实现,在/etc/sysconfig/network-scripts/目录中生成名为ifcfg-enp4s0的文件中,修改参数配置,示例如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=5bd94ef4-f017-415c-b77b-9d772a4f66a6
DEVICE=ens33
ONBOOT=yes
IPADDR=10.1.1.2
PREFIX=24
GATEWAY=10.1.1.254
DNS1=10.1.1.254

注意配置静态IP时 ,要设置BOOTPROTO=none

可以使用systemctl restart network重启网络服务让配置生效。

四、也可以使用图形界面nmtui

终端输入nmtui:

[root@localhost ~]# nmtui

Snipaste_2024-05-14_11-25-16

选择第一个“Edit a connection”:

Snipaste_2024-05-14_11-34-14

Snipaste_2024-05-14_11-36-06

Snipaste_2024-05-14_11-37-08

Snipaste_2024-05-14_11-37-27

Snipaste_2024-05-14_11-37-38

Snipaste_2024-05-14_11-37-54

Snipaste_2024-05-14_11-38-13

Snipaste_2024-05-14_11-38-27

posted @   国杰响当当  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示