网络管理

网络管理

route -n 查看路由

/etc/resolve.conf 查看DNS

RHEL7以前 network服务管理网络(对应软件包network-scripts),可以通过修改配置文件管理网络

​ 7使用network和NetworkManager

RHEL8只有NetworkManager服务管理网络,通过nmcli命令管理网络

网络管理工具

  • ifconfig
  • ip
  • nmcli NetworkManager服务提供,nmtui

route

route add 192.168.10.0   255.255.255.0  192.168.10.1
route -n 	#查看路由表

ifconfig

  1. ifconfig查看激活的网卡信息
  2. 激活/禁用网卡:ifconfig ens160 up/down
  3. ifconfig -a 查看所有网卡信息
  4. 设置临时ip: ifconfig ens16 ip/掩码

ip命令

  • 管理设备:ip link
  • 管理ip: ip addr
  • 管理路由表:ip route
命令 解释
ip link [show] 查看设备信息
ip link set ens160 up/down 激活、禁用网卡
ip addr [show] 查看网络地址
ip addr add ip/netmask dev ens160 添加地址
ip addr del ip/netmask dev ens160 删除地址
ip route [show] 查看路由表信息
ip route add 目标ip[/netmask] via 网关ip 添加路由
ip route del 目标ip[/netmask] 删除路由

nmcli

nmcli con reload加载配置文件

nmcli con up con-name 立即生效

image-20220404100902146

网卡配置文件

/etc/sysconfig/network-scripts/ifcfg-*

TYPE=Ethernet   网络类型 默认为以太网
BOOTPROTO=dhcp     获取IP的方式 默认为动态获取,设置静态参数为static、none
DEFROUTE=yes     是否将该接口设置为默认路由
IPV4_FAILURE_FATAL=no  如果为IPv4和IPv6设置了连接,并将此选项设置为yes,则即使IPv6已将所述连接的设置报告为失败是设置,IPv4不是。
IPV6INIT=yes   IPV6是否启用
IPV6_AUTOCONF=yes   自动配置IPV6地址
IPV6_DEFROUTE=yes    将该接口设置为ipv6的默认路由
IPV6_FAILURE_FATAL=no   
NAME=eth0  网卡的名字
#UUID=3d1c3ea2-fabf-4e6d-b07f-31dce1a1a5de   网卡的UUID
ONBOOT=yes     激活网卡
HWADDR=00:0C:29:42:8C:0D   网卡的物理地址
PEERDNS=yes   自动获取dns
PEERROUTES=yes   自动获取路由地址
IPV6_PEERDNS=yes   
IPV6_PEERROUTES=yes

主机名设置

主机名文件 /etc/hostname

永久更改主机名:

1. 修改配置文件
2. hostnamectl set-hostname   主机名

hostnamectl status

生产环境主机名规范

#以公有云为例:地区-项目-业务-服务-节点-地址
wh-shop-register-nginx-node1-192.168.9.3

DNS配置

/etc/hosts 局域网内使用

192.168.152.60     master

/etc/resolv.conf 互联网

nameserver     223.5.5.5
nameserver     223.6.6.6

端口监听查看

标准服务端口 /etc/services

ss命令

红帽8

选项 解释
-n 显示端口编号,而不是服务名称, EX:ssh 显示 22
-t TCP端口
-u UDP端口
-l 仅显示监听的端口(套接字)
-a 显示所有(监听和已建立连接)的端口
-p 显示对应的进程

netstat命令

红帽7即以前

选项 解释
-a 显示所有选项,默认不显示LISTEN相关
-t 仅显示tcp相关的端口
-u 仅显示UDP
-p 显示已建立连接服务的进程
-n 显示端口编号
-l 仅列出在监听的服务

ss与netstat区别

ss从内核层读取信息,netstat逐个读取,ss效率更高

常见端口

http		80
https		443
ssh			22
ftp			20,21
mysql		3306
rsync		873
redis		6379

traceroute

traceroute 、mtr跟踪路由

mtr 使用icmp协议

traceroute   www.baidu.com
mtr          www.baidu.com

网络连接状态

  1. LISTEN:⾸先服务端需要打开⼀个socket进⾏监听,状态为 LISTEN,侦听来⾃远⽅TCP端⼝的连接请求 ;
  2. SYN_SENT:客户端通过应⽤程序调⽤connect进⾏active open,于是客户端tcp发送⼀个SYN以请求建⽴⼀ 个连接,之后状态置为 SYN_SENT,在发送连接请求后等待匹配的连接请求;
  3. SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时⾃⼰向客户端发送⼀个SYN,之后状态置为,在收到 和发送⼀个连接请求后等待对连接请求的确认;
  4. ESTABLISHED:代表⼀个打开的连接,双⽅可以进⾏或已经在数据交互了, 代表⼀个打开的连接,数据可以 传送给⽤户;
  5. FIN_WAIT1:主动关闭(active close)端应⽤程序调⽤close,于是其TCP发出FIN请求主动关闭连接,之后进⼊ FIN_WAIT1状态, 等待远程TCP的连接中断请求,或先前的连接中断请求的确认;
  6. CLOSE_WAIT:被动关闭(passive close)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为⽂件结 束符传递给上层应⽤程序),并进⼊CLOSE_WAIT, 等待从本地⽤户发来的连接中断请求;
  7. FIN_WAIT2:主动关闭端接到ACK后,就进⼊了 FIN-WAIT-2,从远程TCP等待连接中断请求;
  8. LAST_ACK:被动关闭端⼀段时间后,接收到⽂件结束符的应⽤程 序将调⽤CLOSE关闭连接,这导致它的TCP 也发送⼀个 FIN,等待对⽅的ACK.就进⼊了LAST-ACK,等待原来发向远程TCP的连接中断请求的确认;
  9. TIME_WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进⼊TIME-WAIT状态,等待⾜够的时间以确保 远程TCP接收到连接中断请求的确认;
  10. CLOSING: ⽐较少⻅,等待远程TCP对连接中断的确认;
  11. CLOSED: 被动关闭端在接受到ACK包后,就进⼊了closed的状态,连接结束,没有任何连接状态;
  12. UNKNOWN:未知的Socket状态;
  • SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握⼿建⽴TCP连接时有效。表示⼀个 新的TCP连接请求。
  • ACK: (确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功接收所有 数据。
  • FIN: (结束标志,FINish)⽤来结束⼀个TCP回话.但对应端⼝仍处于开放状态,准备接收后续数据。

网络故障排查思路

  • 软、硬件故障
    • 网卡、链路
    • 网卡驱动
  • 排查思路
    • ping本地回环口,确定本机TCP/IP协议栈是否正常
    • ping本机ip地址, 确定本地设备以及驱动是否正常
    • ping同⽹段主机, 确定⼆层⽹络是否正常⼯作
    • ping⽹关地址, 确定本地与⽹络是否正常
    • ping公⽹地址, 确定本地路由是否正常 ping baidu.com ping 223.5.5.5
    • ping公⽹域名, 确定DNS客户端是否正常 dns/resove有配置dns有问题
  • 服务故障排查思路
    • 使⽤telnet检测端⼝是否开放
    • 检查服务端防⽕墙以及SElinux
    • 检查相应的权限是否配置正常
    • 检查⽇志是否有异常
    • 检查完毕后持续测试

修改网卡命名规则

ens33这类不方便管理

  • 修改配置文件,更改单个
cp ifcfg-ens33  ifcfg-eth0
vi ifcfg-eth0
NAME=eth0
DEVICE=eth0
  • 更改grub内核参数
vi /etc/sysconfig/grub
GRUB_CMDLINE_LINUX="...net.ifnames=0 biosdevname=0 quiet"
grub2-mkconfig -o /boot/grub2/grub.cfg

双网卡绑定

image-20220404142542540

双网卡绑定方式:

bond 绑定

team 聚合

image-20220404142755804

双网卡绑定实验

  • 两个干净的网卡
  • 添加虚拟网卡(指定bond模式):nmcli con add type bond ifname bond0 con-name bond0 mode active-backup miimon 1000
  • 将两个物理网卡绑定到虚拟网卡上nmcli con add type bond-slave ifname ens160 master bond0

nmcli con add type bond-slave ifname ens224 master bond0

  • 给虚拟网卡配置ip并激活网卡

cat /proc/net/bonding/bond0 可以看到bond0状态

bond4

创建/etc/sysconfig/network-scripts/ifcfg-bond0文件,加入如下内容:
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.120.30
PREFIX=24
GATEWAY=192.168.120.1 
ONBOOT=yes
BOOTPROTO=static
BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"
注:mode=4,设置为链路负载均衡模式;miimon=100,监控网线链路故障的时间间隔(毫秒);lacp_rate=1,检测主机网卡是否存活的检测包每30秒(fast)或每秒(slow)发送一次。

修改/etc/sysconfig/network-scripts/ifcfg-em1文件:
DEVICE=em1
TYPE=Ethernet
BOOTPROTO=static
NAME=em1
ONBOOT=yes
MASTER=bond0
SLAVE=yes

修改/etc/sysconfig/network-scripts/ifcfg-em2文件:
DEVICE=em2
TYPE=Ethernet
BOOTPROTO=static
NAME=em2
ONBOOT=yes
MASTER=bond0
SLAVE=yes

桥接网卡实验

  1. 添加虚拟网卡接口指定类型为网桥。nmcli con add type bridge ifname br0 con-name br0
  2. 给网桥添加一个ip地址nmcli con modify br0 ipv4.method manual ipv4.addresses ip .....
  3. 绑定一个物理网卡到虚拟网卡接口上nmcli con add type bridge-slave ifname ens160 con-name ens160 master br0
  4. 激活虚拟网桥
posted @ 2023-05-09 15:14  loser_xu  阅读(59)  评论(0编辑  收藏  举报