1、查看网络接口信息
ip a/ip addr
#简略的查看网络接口信息
ifconfig
#只显示当前活跃的设备
ifconfig -a #实现当前主机的所有网络设备,包括未运行的设备
root@ubuntu1:~# ifconfig
ens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
设备名 端口 启用 支持广播 正在运行 支持组播 最大传输单元
inet 192.168.206.20 netmask 255.255.255.0 broadcast 192.168.206.255
网络设备的ip地址 网段的子网掩码 广播地址
ether 00:0c:29:4b:2d:00 txqueuelen 1000 (Enternet)
网卡的mac地址 传输队列长度 (以太网)物理网卡
RX packets 4876 bytes 410968 (410.9 KB)
接受报文的个数 接受报文的总大小
RX errors 0 dropped 0 overruns 0 frame 0
接收时发生的错误 丢弃 溢出 冲突帧数
TX packets 1087 bytes 113238 (113.2 KB)
发送报文的个数 发送报文的总大小
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
发送时的错误 丢弃 溢出 载荷 冲突
设置单个网络设备的虚拟网卡
ifconfig ens33:1 192.168.206.100/24
ens33为真实网卡,且真实网卡必须要能正常工作
:后面可以是数字也可以是字母,不要用汉字,而且字母和数字不能重复
虚拟网卡的ip地址不能重复
配置一台主机的多个网卡
ubuntu: vim /etc/netplan/01-network-manager-all.yaml
netplan apply
centos: cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens36
修改DEVICE和ip地址
systemctl restart network
对单个网络设备进行操作
ifconfig 设备名 down #关闭指定的网络接口
ifconfig 设备名 up #开启指定的网络接口
ifup/ifdown 设备名 #对单个网络设备进行操作
重启所有网络设备
centos: systemctl restart network
ubuntu: netplan apply
网卡名称
eth0 ens33 ens36 ens37 等等,系统自定义
2、查看主机的路由条目
route #查看路由条目、网关
route -n #数字化形式展示路由条目
traceroute #测试当前主机到目标主机之间经过的网络节点
3、查看网络连接情况
netstat
ss
常用选项(netstat和ss都适用) | 说明 |
-a | 显示主机中所有活动的网络连接信息 |
-n | 数字化的形式显示主机地址和端口信息 |
-r | 显示路由表的信息 |
-t | 只显示TCP协议的信息 |
-u | 只显示DUP协议的信息 |
-p | 显示网络连接信息的进程号,进程名的相关信息(需要root权限) |
netstat -antp | grep 端口名/应用名称
ss -antp | grep 端口名/应用名称
root@ubuntu1:~# netstat -antp | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2259/nginx: master
tcp6 0 0 :::80 :::* LISTEN 2259/nginx: master
#
tcp 协议 tcp6 ipv6
0.0.0.0:80 服务开放的监听地址和端口号
0.0.0.0:* 表示谁都可以连接,表示任意的ip地址 *:任意端口
LISTEN 监听 等待连接,开放出来的连接地址
2259 进程号 nginx 服务名
ESTABLISTEN 表示已经连接并且正在传输数据
timewait: 不是报错,是tcp连接状态的一种。表示双方已经传输完了数据,进入等待时间,一旦有数据传输,无需再三次握手建立连接(节约资源)
4、列出当前打开的文件
lsof (list open files)
lsof -p 进程号 #根据进程号显示打开的文件和网络连接
lsof -i:22 #列出指定的端口被哪些进程占用
lsof -u root #指定的用户打开的网络进程和文件
5、测试网络的连通性
ping (icmp协议)
-c ping的次数
-i 发送包的间隔时间 也就是ping的间隔时间
-W ping的超时时间
-w 多少秒之后停止ping操作
6、DNS
dns解析--->域名转换成ip地址
nslookup 域名解析的命令
/etc/hosts #本地的域名和ip地址的映射
/etc/resolv.conf #本地DNS解析服务器的配置文件(内网环境)
这两个配置文件配置完了即刻生效,不需要重启
7、bond网卡
绑定网卡 多个网卡共用一个ip地址。
实现高可用:如果其中一个网卡故障,不影响业务的使用。
bond网卡模式 | 说明 |
mode=0 round robin | 轮询 两个网卡都会使用 |
mode=1 active-backup | 冗余功能 只有一个工作,另一个备用 |
mode=2 load balancing | 平衡策略,也能提供轮询和容错 |
mode=3 广播策略 | 广播地址的高可用 |
mode=4 动态链接聚合 | 交换机设置 |
mode=5 transmit load balancing 适配器负载均衡 | 以太网设备能够获取每个网卡的速率 |
mode=6 adaptive load balancing 适配器负载均衡 | balanced-tld模式,针对流量实现负载均衡。不需要交换机。 |
centos:
vim ifcfg-ens33 #修改ens33的配置
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
vim ifcfg-ens36 #修改ens36的配置
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
vim ifcfg-bond0 #新建bond0的配置
TYPE=Ethernet
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.206.10
NETMASK=255.255.255.0
GATEWAY=192.168.206.2
BONDING_OPTS="miimon=100 mode=0 fail_over_mac=1"
#
miimon=100单位毫秒
检测链路的间隔(100毫秒检查一次所有设备的状态,如果发现故障,开始触发故障切换)
mode=0 使用bond的轮询模式
fail_over_mac=1 表示在故障切换时,备用接口会直接获取主接口的mac地址。减少切换地址过程中可能出现的中断
modprobe bonding
systemctl restart network
ubuntu:
vim /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
ethernets:
ens33:
dhcp4: no
ens37:
dhcp4: no
bonds:
bond0:
dhcp4: no
addresses: [192.168.206.20/24]
getway4: 192.168.206.2
interfaces:
- ens33
- ens37
parameters:
mode: balance-alb
mii-monitor-interval: 100
echo "options bonding mode=6" | sudo tee /etc/modprobe.d/bonding.conf
modprobe -r bonding
modprobe bonding
netplan apply