当前位置:首页>Linux>Linux网络管理

Linux网络管理

  • 2026-09-08 14:09:31
Linux网络管理

系统服务

(5,6)network->(7)NetworkManager

概念:

连接名称:逻辑上软件的名称

接口名称:物理上硬件设备的名称


如何表示一个IP地址:

IPv4——点分十进制(四个十进制202.204.67.15 32位)

IPv6——冒号分十六进制(fe80::f7cd:9f99:1118:8be0 8端16个2进制 128位)

一张网卡可以有两个IP地址(IPv4、IPv6)。

配置文件

1.DNS配置文件:/etc/resolv.conf

最多支持3个

2.解析域名配置文件:/etc/host.conf

multi on就是优先hosts解析

相关命令

1.traceroute - print the route packets trace to network host

#> traceroute www.baidu.com

2.netstat  -  Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.

 -n,--numeric   

Show  numerical  addresses  instead  of  trying to determine symbolic host, port or user names.

-l, --listening
       Show only listening sockets.  (These are omitted by default.)

-r,--route    

Display the kernel routing tables. See the  description  in  route(8) for details.  netstat -r and route -e produce the same output.

-t ,-tcp

-u,-udp

#> netstat -tlun  //查看本机监听的端口 #> netstat -an  *//查看本机所有的网络连接,以及连接状态#> netstat -rn  //查看本机路由表

3.route - show / manipulate the IP routing table

This program is obsolete. For replacement check ip route.

4.iw - show / manipulate wireless devices and their configuration

5.ip - show / manipulate routing, devices, policy routing and tunnels

新的配置工具用来替代ipconfig、route

ip [OPTIONS] OBJECT [COMMAND ]

OPTIONS:

-h, -human, -human-readable

output statistics with human readable values followed by suffix.

-4     shortcut for -family inet.

-6     shortcut for -family inet6.

-r, -resolve

use the system's name resolver to print DNS names instead of host addresses.

OBJECT:

address - protocol (IP or IPv6) address on a device.

link   - network device.

maddress - multicast address.

tunnel - tunnel over IP.

//关闭和启用设备#> ip link set ens33 down   //ifconfig ens33 down#> ip link set ens33 up  //ifconfig ens33 up//显示设备属性#> ip link show   1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:002: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000    link/ether 00:0c:29:4c:a5:04 brd ff:ff:ff:ff:ff:ff3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT qlen 1000    link/ether 52:54:00:dd:cb:2e brd ff:ff:ff:ff:ff:ff4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT qlen 1000    link/ether 52:54:00:dd:cb:2e brd ff:ff:ff:ff:ff:ff//ifconfig#> ip address list1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1    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 forever2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000    link/ether 00:0c:29:fc:aa:46 brd ff:ff:ff:ff:ff:ff    inet 192.168.141.129/24 brd 192.168.141.255 scope global dynamic ens33       valid_lft 1638sec preferred_lft 1638sec    inet6 fe80::f7cd:9f99:1118:8be0/64 scope link        valid_lft forever preferred_lft forever3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000    link/ether 52:54:00:d9:47:84 brd ff:ff:ff:ff:ff:ff    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0       valid_lft forever preferred_lft forever4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000    link/ether 52:54:00:d9:47:84 brd ff:ff:ff:ff:ff:ff

6.nmcli

//查看网络接口状态#> nmcli -p g=========================  NetworkManager status=========================STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    --------------------------------------------------------------------------------------connected  full          enabled  enabled  enabled  enabled //设备状态# nmcli device status DEVICE      TYPE      STATE      CONNECTION virbr0      bridge    connected  virbr0     ens33       ethernet  connected  ens33      lo          loopback  unmanaged  --         virbr0-nic  tun       unmanaged  --//查看有关权限#> nmcli g permissionsPERMISSION                                                 VALUE org.freedesktop.NetworkManager.enable-disable-network      yes   org.freedesktop.NetworkManager.enable-disable-wifi         yes   org.freedesktop.NetworkManager.enable-disable-wwan         yes   org.freedesktop.NetworkManager.enable-disable-wimax        yes   org.freedesktop.NetworkManager.sleep-wake                  yes   org.freedesktop.NetworkManager.network-control             yes   org.freedesktop.NetworkManager.wifi.share.protected        yes   org.freedesktop.NetworkManager.wifi.share.open             yes   org.freedesktop.NetworkManager.settings.modify.system      yes   org.freedesktop.NetworkManager.settings.modify.own         yes   org.freedesktop.NetworkManager.settings.modify.hostname    yes   org.freedesktop.NetworkManager.settings.modify.global-dns  yes   org.freedesktop.NetworkManager.reload                      yes   org.freedesktop.NetworkManager.checkpoint-rollback         yes   org.freedesktop.NetworkManager.enable-disable-statistics   yes

连接WiFi

#> nmcli d wifi 

#> nmcli d wifi connect YBX-wifi passwd 'YBX_IS_THE_MOST_HANDSOME_MAN_IN_ncepu'//这里ssid是YBX-wifi,密码是YBX_IS_THE_MOST_HANDSOME_MAN_IN_ncepu

配置IPv6地址

#> nmcli connection modify "ens33" ipv6.method manual ipv6.address "fe80::f7cd:9f99:1118:8be0" 

链路聚合:网络连接的捆绑

作用:热备份(activeup)

轮询负载均衡(roundrobin)

定义聚合连接的类型时,采用JSON语法标记(来自JavaScript Object Notation)

名称:值

每一个对象——{对象}

每一个字符串——“字符串”

做需要运行器——runner

热备份:{ "runner":{ "config":"activebackup"} }

轮询:{ "runner":{ "config":"roundrobin"} }

eg1:在接口eth0配置IPv6,system1上面的地址是2003:ac18::305/64,system2上面的地址是2003:ac18::306/64,两个系统必须能与网络2003:ac18/64内的系统通信,地址必须在重启后一九生效,两个系统必须保持当前的IPv4地址并能通信。

//1.获取连接名称#> nmcli connection show  NAME            UUID                                  TYPE            DEVICE Systme ens33   af4e6e9e-02a3-41b8-88a2-f2cc7ca18169  802-3-ethernet  ens33    或者#> nmcli device statusSystem ens33       ethernet  connected  ens33 lo          loopback  unmanaged  --//2.配置IPv6地址#> nmcli connection modify "System ens33" ipv6.method manual ipv6.addresses 2003:ac18::305/64   //manual静态//3.激活#> nmcli connection up "System ens33"

图形方法

#> nm-connection-editor 

eg2:配置链路聚合

在system1.groupX.example.com和system2.groupX.example.cm之间按以下要求配置一个链路:此链路接口eth1和eth2,此链路在一个接口失效时依然能工作,此链路咋system1使用下面地址 172.16.X.20/255.255.255.0,此链路在system2使用下面的地址 172.16.X.25/255.255.255.0 此链路咋系统重启之后依然保持正常状态。

//创建新的聚合连接#> nmcli connection add con-name team0 type team ifname team0 config '{ "runner":{ "name":"activebackup" } }'//为聚合连接指定成员网卡#> nmcli connection add con-name team0-p1 type team-slave ifname eth1 master team0#> nmcli connection add con-name team0-p2 type team-slave ifname eth2 master team0//为聚合连接配置IP地址、聚合类型#> nmcli con modify team0 ipv4.method manual ipv4.addresses "172.16.3.20/24" connection.autoconnect yes//允许成员连接自动启用#> nmcli con mofify team0-p1 connection.autoconnect yes#> nmcli con mofify team0-p2 connection.autoconnect yes//激活聚合连接、激活成员网卡#> nmcli connection up team0

//测试#> teamdctl team0 statesetup:  runner: activebackupports:ens33    link watches:      link summary: up      instance[link_watch_0]:        name: ethtool        link: up        down count: 0  ens38    link watches:      link summary: up      instance[link_watch_0]:        name: ethtool        link: up        down count: 0runner:  active port: ens38//或者#> ping 172.16.3.20//让其中一个暂时失效#> nmcli connection down team0-p2#> teamdctl team0 statesetup:  runner: activebackupports:  ens38    link watches:      link summary: up      instance[link_watch_0]:        name: ethtool        link: up        down count: 0runner:  active port: ens38

图形方法

#> nm-connection-editor

创建新的聚合

添加网卡

创建聚合网卡类型

添加第1块以太网卡

添加第2块以太网卡

配置功能1

配置功能2

配置IP地址1

配置IP地址2

//激活#> nmcli connection up team0//测试#> teamctl team0 state

本文是我根据在自学过程中的经验总结出来的,如果有建议和看法,可以在文末留言,谢谢。

最新文章

随机文章