系统服务
(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 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"
图形方法


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
图形方法

创建新的聚合

添加网卡

创建聚合网卡类型

添加第1块以太网卡

添加第2块以太网卡

配置功能1

配置功能2

配置IP地址1

配置IP地址2
//激活#> nmcli connection up team0//测试#> teamctl team0 state
本文是我根据在自学过程中的经验总结出来的,如果有建议和看法,可以在文末留言,谢谢。