Linux 网络管理技术

                                      Linux  网络管理技术

OSI 七层模型和 TCP/IP 四层模型

img

OSI七层模型:OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。

TCP/IP 四层模型:TCP/IP参考模型是计算机网络的祖父ARPANET 和其后继的因特网使用的参考模型。

分层的作用: 方便管理

img

七层模型优点: [CCNA]

1、把复杂的网络划分成为更容易管理的层(将整个庞大而复杂的问题划分为若干个容易处理的小问题)

2、没有一个厂家能完整的提供整套解决方案和所有的设备,协议.

3、独立完成各自该做的任务,互不影响,分工明确,上层不关心下层具体细节,分层同样有益于网络排错

img

img

查看服务对应的端口

more /etc/services

img

验证网络配置

# 识别网络接口 
ip link show  
# 显示ip地址 
ip addr 
ip addr show ens32  
ip addr flush dev ens32  //释放该网卡的ip
# 显示性能统计信息 
ip -s link show ens32 
# 检查主机之间的连接 
ping  /ping -c3  
ping6 / ... 
# 路由故障排除 
route -n  //没有默认安装 
ip route  // ip -6 route  
# 追踪流量采用的路由 
tracepath  
tarceroute  //默认没有安装 
# 端口和服务故障排除 
netstat -ntpal  //默认没有安装 ss -ta

从命令行配置网络 //nmcli

语法

nmcli [OPTIONS...] { help | general | networking | radio | connection | device | agent | monitor } [COMMAND] [ARGUMENTS...]
上面的语法就是: nmcli [选项...] 对象 [命令] [参数...]
对象 =  help | general | networking | radio | connection | device | agent | monitor

提示: 1. 输入命令的时候请善用tab补全,少打很多单词!
    2. 支持简写,例如connection可以简写成con或c, modify可以简写成mod或m
    3. nm --> networkmanager   /讽刺啊,这是以前一般禁掉的服务
 查看联网信息

显示所有网络设备的状态

[root@centos8-1 ~]# nmcli device status 
DEVICE  TYPE      STATE   CONNECTION 
ens35   ethernet  已连接  ens35      
ens32   ethernet  已断开  --         
lo      loopback  未托管  --  
//显示网络设备的详细信息
nmcli device show (ens35)

显示所有连接的列表

    
[root@centos8-1 ~]# nmcli connection show 
NAME   UUID                                  TYPE      DEVICE 
ens35  1777ed92-ff58-7956-b8b3-ed928f82e0c8  ethernet  ens35  
ens32  d013a127-4e67-4c2c-adaf-61c89c35860f  ethernet  --   

//仅显示活动的连接  
[root@centos8-1 ~]# nmcli connection show  --active 
NAME   UUID                                  TYPE      DEVICE 
ens35  1777ed92-ff58-7956-b8b3-ed928f82e0c8  ethernet  ens35  
// 查看连接的详细信息
# nmcli connection show ens32

网卡状态修改

1、启用网络连接

 # nmcli connection up eno16780032
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5771)

2、停用网络连接-可以被自动激活

[root@6000m ~]# nmcli connection down ens37
成功取消激活连接 'ens37'(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/16)

3、禁用网卡放置被激活//

 # nmcli device disconnect ens37
成功断开设备 'ens37'。

4、删除网络连接的配置文件

 # nmcli connection delete ens37
成功删除连接 'ens37'(6c6bf2e6-111b-3f09-80bb-c177263585e6)。

5、重新加载网络配置文件

 # nmcli connection reload

6、举例: 禁止网卡开机自动启动

nmcli connection modify Wired\ connection\ 1 connection.autoconnect no 

添加网络连接

nmcli connection add con-name ens32 type ethernet ifname ens32 ipv4.addresses 192.168.2.101/24 ipv4.method manual 
//这样的添加指定了Ipv4.method ,manual(none) -> 静态ip;dhcp --> 动态获取

修改网络连接配置

设置自动启动网卡

 nmcli connection modify ens37 connection.autoconnect yes
实际修改的是网卡配置文件ONBOOT=yes

设置IP地址获取方式是手动或者DHCP

手动设置IPv4地址,如果原本是DHCP获取地址,改手动后,如果后面不接IP地址,可能会报错
 nmcli connection modify ens37 ipv4.method manual ipv4.addresses 172.16.10.1/16
设置IP地址为DHCP
 nmcli connection modify ens37 ipv4.method auto
实际修改的是网卡配置文件BOOTPROTO,BOOTPROTO=none 表示手动;BOOTPROTO=dhcp 表示dhcp

修改IP地址

 nmcli connection modify ens37 ipv4.addresses 172.16.10.100/16 
实际修改的是网卡配置文件:
IPADDR=172.16.10.100
PREFIX=16

修改网关

 nmcli connection modify ens37 ipv4.gateway 172.16.1.1
实际修改的是网卡配置文件:
GATEWAY=172.16.1.1

添加第二个IP地址

 nmcli connection modify ens37 +ipv4.addresses 172.16.10.10/16
实际修改的是网卡配置文件:
IPADDR1=172.16.10.10
PREFIX1=16

添加DNS

 nmcli connection modify ens37 ipv4.dns
114.114.114.114
实际修改的是网卡配置文件: DNS1=114.114.114.114

添加第二个DNS
 nmcli connection modify ens37 -ipv4.dns 8.8.8.8

RHEL8和CentOS8怎么重启网络

当我们安装好RHEL 8或者 CentOS 8,重启启动网络时,会出现以下报错:

]# systemctl restart network.service

报错信息如下
Failed to restart network.service: Unit network.service not found.
意思为无法重启网络服务,原因是无法找到network.service网络服务。

出现错误的原因是在RHEL 8和CentOS 8系统里,已废弃network.service。因此只能通过其它方法进行网络配置,包括NM命令工具集。换言之,在rhel8上,必须开启NM,否则无法使用网络。

下文假设你的网卡标识为xxx,可以通过以下命令确定网卡标识符

]# ip addr

比如ens33等等这类标识。

RHEL8或者CentOS8配置网络的三种方法

RHEL8或者CentOS8应该使用nmcli管理网络

  1. 手工配置ifcfg,通过NM来生效
  2. 通过NM自带工具配ip,比如nmcli
  3. 手工配置ifcfg,通过传统network.service来生效
  4. 建议:推荐使用上述第1种网络配置方法(手工配置ifcfg,通过NM生效),因为这样既兼容了传统的ifcfg配置,又能熟悉nmcli。举例:

方法一:手工配置ifcfg,使用nmcli来生效新的网络配置

假设网卡标识符为xxx

]# vi /etc/sysconfig/network-scripts/ifcfg-xxx

使用nmcli重新回载网络配置

]# nmcli c reload

如果之前没有xxx的connection,则上一步reload后就已经自动生效了

]# nmcli c up xxx

方法二:RHEL8和CentOS8完全使用nmcli来管理网络

查看网卡信息

]# nmcli connection

NAME UUID TYPE DEVICE
ens33 a92fa07b-9b68-4d2b-a2e7-e55146099b1b ethernet ens33
ens36 418da202-9a8c-b73c-e8a1-397e00f3c6b2 ethernet ens36

]# nmcli con xxx

显示具体的网络接口信息

]# nmcli connection show xxx

显示所有活动连接

]# nmcli connection show --active 

删除一个网卡连接

]# nmcli connection delete xxx

给xxx添加一个IP(IPADDR)

]# nmcli connection modify xxx ipv4.addresses 192.168.0.58

给xxx添加一个子网掩码(NETMASK)

]# nmcli connection modify xxx ipv4.addresses 192.168.0.58/24

IP获取方式设置成手动(BOOTPROTO=static/none)

]# nmcli connection modify xxx ipv4.method manual

添加一个ipv4

]# nmcli connection modify xxx +ipv4.addresses 192.168.0.59/24

删除一个ipv4

]# nmcli connection modify xxx -ipv4.addresses 192.168.0.59/24

添加DNS

]# nmcli connection modify xxx ipv4.dns 114.114.114.114

删除DNS

]# nmcli connection modify xxx -ipv4.dns 114.114.114.114

添加一个网关(GATEWAY)

]# nmcli connection modify xxx ipv4.gateway 192.168.0.2

可一块写入:

]# nmcli connection modify xxx ipv4.dns 114.114.114.114 ipv4.gateway 192.168.0.2

添加DNS

]# nmcli connection modify xxx ipv4.dns 114.114.114.114

删除DNS

]# nmcli connection modify xxx -ipv4.dns 114.114.114.114

添加一个网关(GATEWAY)

]# nmcli connection modify xxx ipv4.gateway 192.168.0.2

可一块写入:

]# nmcli connection modify xxx ipv4.dns 114.114.114.114 ipv4.gateway 192.168.0.2

使用nmcli重新回载网络配置

]# nmcli c reload

如果之前没有xxx的connection,则上一步reload后就已经自动生效了

]# nmcli c up xxx

方法三:安装network.service服务

可以通过yum install network-scripts来安装传统的network.service,不过redhat说了,在下一个RHEL的大版本里将彻底废除,因此不建议使用network.service。

RHEL8或者CentOS8修改网卡名称

删除网卡连接,比如xxx

]# nmcli connection delete xxx

修改内核参数配置文件

]# vi /etc/default/grub 

植入内核

]# grub2-mkconfig -o /boot/grub2/grub.cfg 

重启

]# reboot

添加网卡

]# nmcli connection add type ethernet con-name xxx

RHEL8或者CentOS8使用nmtui工具配置网络(图形化工具)

]# nmtui

总结

CentOS8和RHEL8上一定要习惯使用nmcli来管理网络,network.service在未来会被正式废除,没有学习的必要了。

posted @ 2023-02-18 16:48  运维小九九  阅读(261)  评论(0编辑  收藏  举报