Linux学习-网络管理
网络管理
网络状况查看工具
1.net-tools
- ifconfig
- route
- netstat
2.iproute2
- ip
- ss
# ifconfig 显示的网卡信息
- eth0 第一块网卡(网络接口)
- 第一个网络接口也能叫做下面名字
- eno1 板载网卡
- ens33 PCI-E网卡
- enp0s3 无法获取物理信息的PCI-E 网卡
- centos7 使用了一致性网络设备命名,以上都不匹配则使用 eth0
网络接口命名修改
网卡命名规则受 biosdevname 和 net.ifnames 两个参数影响,编辑 /etc/default/grup 文件,增加 biosdevname=0 net.ifnames=0,可以使网卡名称变回 eth0
以上两个参数修改后,更新 grub ,修改网卡名称
# grup2-mkconfig -o /boot/grub2/grub.cfg 转化为系统可读取的文件
重启
# reboot
biosdevname | net.ifnames | 网卡名 | |
---|---|---|---|
默认 | 0 | 1 | ens33 |
组合1 | 1 | 0 | em1 |
组合2 | 0 | 0 | eth0 |
名词解释:GRUB是多系统引导管理器,它负责装入内核并引导 Linux 系统,系统启动时运行的第一个程序就是grub。
GRUB 配置文件的路径 /etc/default/grub
查看网卡物理连接情况
- mii-tool eth0
查看网关
- route -n 使用 -n 参数不解析主机名,这样速度比较快,若是+ip,会把ip解析为域名,速度比较慢
网络配置命令
- ifconfig <接口><IP地址>[子网掩码]
- ifup <接口> 启动接口
- ifdown <接口> 关闭接口
添加网关
- route add default gw <网关ip>
- route add -host <指定ip> gw <网关ip>
- route add -net <指定网段> netmask <子网掩码> gw <网关ip>
用iproute2 工具设置网关
- ip add ls
- ifconfig
- ip link set dev eth0 up
- ifup eth0
- ip addr add 10.0.0.1/24 dev eth1
- ifconfig eth1 10.0.0.1 netmask 255.255.255.0
- ip route add 10.0.0/24 via 192.168.0.1
- route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1
网络故障排除命令
-
ping 检测当前主机和目标主机是否连通,不通可能是网络中断或者有防火墙,ping指令会使用ICMP传输协议
例
# ping www.baidu.com -
traceroute 追踪路由的每一跳,显示数据包到主机间的路径
例
# traceroute -w 1 www.baidu.com -w 设定等待时间 -
mtr 检测当前主机和目标主机之间是否有数据包丢失,显示的内容比traceroute详细
例
# mtr -
nslookup 查看域名对应的ip,查DNS信息用的命令
例
# nslookup www.baidu.com -
telnet 检查端口的连接状态
例
# telnet www.baidu.com 80 -
tcpdump 抓包,嗅探器工具,它可以打印所有经过网络接口的数据包的头信息
例
# tcpdump -i any(任意网卡) -n(不要使用域名显示) port 80
# tcpdump -i any -n host 10.0.0.1
# tcpdump -i any -n host 10.0.0.1 and port 8080
# tcpdump -i any -n host 10.0.0.1 and port 8080 -w /tmp/filenname -
netstat 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
例
# netstat -ntpl- -n 显示IP,不要显示域名
- -t 以tcp的方式截取想要的内容
- -p 显示进程
- -l listen,监听
-
ss 用来显示处于活动状态的套接字信息,能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效
例
# ss -ntpl
网络服务管理
网络服务管理程序分为两种,分别为SysV和systemd
- service network start|stop|restart
- chkconfig -list network
- systemctl list-unit-files NetworkManager.service
- systemctl start|stop|restart NetworkManager
- systemctl enable|disable NetworkManager
systemd Centos7的网络服务管理工具,SysV是Centos6及以前的
网络配置文件
- ifcfg-eth0 网卡的配置文件,名称会随着真实名称而改变
- /etc/hosts 与主机相关的配置文件
NM(NetworkManager.service)能管理各种网络
- 有线网卡、无线网卡
- 动态ip、静态ip
- 以太网、非以太网
- 物理网卡、虚拟网卡
nmcli:命令行。这是NM最常用的工具,Centos8使用该工具管理网络
NM 一些常用命令
查看ip(类似于ifconfig、ip addr)
nmcli
nmcli connection 可理解为配置文件,相当于ifcfg-ethX。
可以简写为nmcli c
创建connection,配置静态ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual
创建connection,配置动态ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.method auto
修改ip(非交互式)
nmcli c modify ethX ipv4.addr '192.168.1.200/24'
nmcli c up ethX
修改ip(交互式)
nmcli c edit ethX
nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
Edit 'addresses' value: 192.168.1.200/24
Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
nmcli ipv4> save
nmcli ipv4> activate
nmcli ipv4> quit
启用connection(相当于ifup)
nmcli c up ethX
停止connection(相当于ifdown)
nmcli c down
删除connection(类似于ifdown并删除ifcfg)
nmcli c delete ethX
查看connection列表
nmcli c show
查看connection详细信息
nmcli c show ethX
重载所有ifcfg或route到connection(不会立即生效)
nmcli c reload
重载指定ifcfg或route到connection(不会立即生效)
nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX
nmcli c load /etc/sysconfig/network-scripts/route-ethX
立即生效connection,有3种方法
nmcli c up ethX
nmcli d reapply ethX
nmcli d connect ethX
查看device列表
nmcli d
查看所有device详细信息
nmcli d show
查看指定device的详细信息
nmcli d show ethX
激活网卡
nmcli d connect ethX
关闭无线网络(NM默认启用无线网络)
nmcli r all off
查看NM纳管状态
nmcli n
开启NM纳管
nmcli n on
关闭NM纳管(谨慎执行)
nmcli n off
监听事件
nmcli m
查看NM本身状态
nmcli
检测NM是否在线可用
nm-online