文章目录
网络接口组成格式
- 以太网网卡以 en 开头
- 无线网卡以 wl 开头
o
主板上集成的设备的设备索引号s
扩展槽的索引号
回归传统命名
- 检查是否安装biosdevname;
- rpm -aq | grep biosdevname
- 修改网卡主配置文件名为ifcfg-eth0;
- 进入到/etc/sysconfig/network-scripts/目录
- mv ifcfg-eno16777736 ifcfg-eth0
- 修改网卡主配置文件,将NAME和DEVICE的名字改为eth0;
- 修改grub配置文件;
- vim /etc/default/grub
- 在rhgb前面添加net.ifnames=0 biosdevname=0
- 生成配置文件;
- grub2-mkconfig -o /etc/grub2.cfg
- 重启;
- reboot
[root@bad test]# rpm -qa | grep biosdevname //检查是否安装biosdevname
biosdevname-0.5.0-10.el7.x86_64
[root@bad test]# cd /etc/sysconfig/network-scripts/ //进入网卡配置目录
[root@bad network-scripts]# ls
ifcfg-eno16777736 ifdown-post ifup-bnep ifup-routes
ifcfg-lo ifdown-ppp ifup-eth ifup-sit
。。。
[root@bad test]# mv ifcfg-eno16777736 ifcfg-eth0 //将网卡配置文件重命名为传统格式
[root@bad network-scripts]# ls
ifcfg-eth0 ifdown-post ifup-bnep ifup-routes
ifcfg-lo ifdown-ppp ifup-eth ifup-sit
。。。
[root@bad network-scripts]# vim ifcfg-eth0 //修改网卡配置文件里的NAME和DEVICE名字一致
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.43.128
NETMASK=255.255.255.0
GATEWAY=192.168.43.2
DNS1=192.168.43.2
[root@bad network-scripts]# vim /etc/default/grub /修改grub配置文件
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root crashkernel=auto rd.lvm.lv=rhel/swap
vconsole.font=latarcyrheb-sun16 vconsole.keymap=us
net.ifnames=0 biosdevname=0 rhgb quiet" //在rhgb前加上net.ifnames=0 biosdevname=0
GRUB_DISABLE_RECOVERY="true"
[root@bad network-scripts]# grub2-mkconfig -o /etc/grub2.cfg //生成配置文件
Generating grub configuration file ...
。。。
[root@bad network-scripts]# reboot //重启
网络管理命令
ifconfig
- 查看当前处于活动状态的所有网络接口
- ifconfig eth0
- 仅查看eth0网卡状态
- ifconfig -a
- 查看所有网卡状态信息, 包括禁用和启用
- UP: 网卡处于活动状态
- BROADCAST: 支持广播
- RUNNING: 网线已接入
- MULTICAST: 支持组播
- MTU: 最大传输单元(字节),即此接口一次所能传输的最大封包
- inet: 显示IPv4地址行
- inet6: 显示IPv6地址行
- link/enther: 指设备硬件(MAC)地址
- txqueuelen: 传输缓存区长度大小
- RX packets: 接收的数据包
- TX packets: 发送的数据包
- errors: 总的收包的错误数量
- dropped: 由于各种原因, 导致拷贝在内存过程中被丢弃
- collisions: 网络信号冲突情况, 值不为0则可能存在网络故障
DHCP自动分配网卡最小配置
TYPE=Ethernet
BOOTPROTO=static
NAME=eno16777736
DEVICE=eno16777736
ONBOOT=yes
静态IP网卡最小配置
TYPE=Ethernet
BOOTPROTO=static
NAME=eno16777736
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.43.128
NETMASK=255.255.255.0
GATEWAY=192.168.43.2
DNS1=192.168.43.2
ip
-
用法:
ip
[选项] OBJECT {COMMAND}
-
OBJECT:
- link:网络接口属性
- addr:协议地址
- route:路由
-
ip link show
查看网络接口所有地址 -
ip -s link show
显示报文统计信息 -
ip link set DEV down
禁用网络接口 -
ip link set DEV up
启用网络接口 -
ip addr add 192.168.1.1/24 dev DEV
添加IP地址 -
ip addr del 192.168.1.1/24 dev DEV
删除IP地址 -
ip addr show DEV
查看网络接口的地址
route
-
查看路由表
-
route -n
以数字方式显示各主机或端口等相关信息 -
增加路由
-
语法:
- 增加网段路由
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
- 增加主机路由
- route add -net 172.16.12.0/24 gw 172.16.12.2 dev eth1
- 删除路由
- route add -host 172.16.12.128 gw 172.16.12.2
- 增加网段路由
- route del -net 172.16.12.0/24
- route del -net 0.0.0.0/0 gw 172.16.12.2
网络配置文件
- 配置文件路径
/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
- 最小静态IP配置
TYPE=Ethernet
BOOTPROTO=static
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.12.130
NETMASK=255.255.255.0
GATEWAY=172.16.12.2
DNS1=172.16.12.2
网卡配置说明
BOOTPROTO=none
引导协议,可选值有{static|none|dhcp|bootp}NM_CONTROLLED
NM是NetworkManager的简写设定此网卡是否接受NM控制TYPE
接口类型UUID
设备的惟一标识HWADDR
硬件地址,要与硬件中的地址保持一致IPADDR=172.16.12.130
固定IP地址PREFIX=24
子网掩码NETMASK=255.255.255.0
子网掩码GATEWAY=172.16.12.2
默认网关DNS1=172.16.12.2
第一个DNS服务器指向DNS2
第二个DNS服务器指向DNS3
第三个DNS服务器指向DEVICE=eth1
关联的设备名称,要与文件名的后半部"INTERFACE_NAME"保持一致NAME="eth1"
连接名称ONBOOT=yes
在系统引导时是否自动激活此网络接口DEFROUTE=yes
将接口设定为默认路由USERCTL={yes|no}
是否允许普通用户控制此接口的启用与禁用PEERDNS={yes|no}
是否在BOOTPROTO为dhcp时接受由dhcp服务器指定的DNS地址
路由配置文件
- 路由配置文件的路径是
/etc/sysconfig/network-scripts/route-INTERFACE_NAME
- 添加格式
vi /etc/sysconfig/network-scripts/route-ens33
//格式一
172.16.12.0/24 via 172.16.12.2
格式二
ADDRESS0=172.16.12.0
NETMASK0=255.255.255.0
GATEWAY0=172.16.12.2
DNS配置文件
-
配置文件的路径是
/etc/resolv.conf
-
NetworkManager管理网络
- NetworkManager提供的命令行和图形配置工具对网络进行设定,设定保存的配置文件在
/etc/sysconfig/network-scripts
目录下, 工具有nmcli, nmtui, nm-connection-editor
- NetworkManager提供的命令行和图形配置工具对网络进行设定,设定保存的配置文件在
nmcli
nmcli device
查看设备状态nmcli device show ens33
查看指定设备的详细状态nmcli connection
查看连接状态nmcli connection show ens33
查看指定设备连接的详细情况
原生network管理网络
- 配置文件默认目录为
/etc/sysconfig/network-scripts
- 设置NetworkManger开机不启动, 同时停止NetworkManger服务
systemctl disable NetworkManager
systemctl stop NetworkManager
添加一块物理网卡, 然后新增网络连接配置文件,复制配置eth0配置文件为eth1
cp /etc/sysconfig/network-scripts/{ifcfg-eth0,ifcfg-eth1}
编辑网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth1
重启network网络服务加载网络并设置开机启动
systemctl restart network
systemctl enable network
网络检测工具与故障排查
ping
- 常用选项:
-c
指定ping的次数-i
指定ping包的发送间隔
nslookup
- 查询DNS记录
traceroute
- 路由跟踪
netstat
netstat
查看网络状态netstat -r
显示路由表netstat -rn
以数字方式显示路由表netstat -t
显示建立的tcp连接netstat -u
显示udp连接netstat -l
显示监听状态的连接netstat -p
显示监听指定的套接字的进程的进程号及进程名netstat -a
显示所有状态的连接
- 常用选项:
-antlp
ss
- 查看网络状态
- 语法:
ss
[选项] - 常用选项:
-t
tcp协议相关-u
udp协议相关-w
裸套接字相关-x
unix套接字相关-l
listen状态的连接-a
所有-n
数字格式-p
相关的程序及pid-e
扩展的信息-m
内存用量-o
显示计时器信息
网络故障排查
网络故障分为硬件/软件故障
- 网卡损坏
- 链路故障
- 网卡驱动不兼容
网络排查思路
- ping本地回环口, 确定本机TCP/IP协议栈是否正常
- ping本机IP地址, 确定本地设备以及驱动是否正常
- ping同网段主机, 确定二层网络是否正常工作
- ping网关地址, 确定本地与网络是否正常
- ping公网地址, 确定本地路由是否正常
- ping公网域名, 确定DNS客户端是否正常
服务故障排查思路
- 使用telnet检测端口是否开放
- 检查服务端防火墙以及SElinux
- 检查相应的权限是否配置正常
- 检查日志是否有异常
- 检查完毕后持续测试
网络进阶管理
链路聚合
- 网卡聚合方式
- bond 最多可添加两块网卡
- team 最多可添加八块网卡
bond常用模式
- bond0(balance-rr
- bond0用于负载轮询,可以增加带宽
- **bond1(active-backup)
- band1用于高可用,一条线短线,其他线路会自动备援
配置bond0
nmcli device
nmcli connection add type bond mode balance-rr con-name bond0 ifname bond0 ipv4.method manual ipv4.addresses 172.16.12.250/24 ipv4.gateway 172.16.12.2 ipv4.dns 172.16.12.2
nmcli connection add type bond-slave con-name bond-slave0 ifname eth0 master bond0
nmcli connection add type bond-slave con-name bond-slave1 ifname eth1 master bond0
cat /proc/net/bonding/bond0
nmcli device disconnect eth0
配置bond1
nmcli device
nmcli connection add type bond con-name bond1 ifname bond1 mode active-backup ipv4.method manual ipv4.addresses 172.16.12.250/24 ipv4.gateway 172.16.12.2 ipv4.dns 172.16.12.2
nmcli connection add type bond-slave con-name bond-slave0 ifname eth0 master bond1
nmcli connection add type bond-slave con-name bond-slave1 ifname eth1 master bond1
nmcli connection up bond1
nmcli connection up bond-slave0
nmcli connection up bond-slave1
cat /proc/net/bonding/bond1
nmcli device disconnect eth0
Centos7/RHEL7配置team聚合链路
- teamd可实现以下模式的链路聚合
broadcast
广播容错roundrobin
负载轮询activebackup
主备(必考)loadbalance
负载均衡lacp
需要交换机支持lacp协议
team配置
nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' ipv4.addresses 172.16.12.250/24 ipv4.gateway 172.16.12.2 ipv4.dns 172.16.12.2 ipv4.method manual
nmcli connection add type team-slave con-name team0-port1 ifname eth1 master team0
nmcli connection add type team-slave con-name team0-port2 ifname eth2 master team0
ping -I team0 172.16.12.128
teamdctl team0 state
nmcli dev disconnect eth1
teamdctl team0 state
这是RHCSA中必考的一道题目,配置主备链路聚合!
动态修改teamd模式
teamdctl team0 config dump > /tmp/team.conf
vim /tmp/team.conf
nmcli con mod team0 team.config /tmp/team.conf
nmcli connection down team0;nmcli connection up team0
nmcli connection up team0-port1
nmcli connection up team0-port2
桥接网络配置
nmcli connection add type bridge con-name br1 ifname br1 ipv4.addresses 192.168.56.222/24 ipv4.method manual
nmcli connection add type bridge-slave con-name br1-port1 ifname eth1 master br1
ping -I br1 192.168.56.1
brctl show
以上内容均属原创,如有不详或错误,敬请指出。
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!