1、主要内容
|----------------------------------|-------|--------------------|
| 命令 | 属性 | 作用 |
| netplan | 配置翻译官 | 定义网卡、IP、路由、网关的永久规则 |
| netstat | 状态体检师 | 查看路由表、端口、连接状态 |
| route | 临时修改器 | 直接改内核路由表 |
| ifconfig | 零时修改 | 网卡 IP、MAC、启停网卡 |
| NetworkManager ( nmcli / nmtui ) | 永久配置 | 系统网络管理服务 |
2、网络接口配置(ifconfig)
主要是配置网卡用来配置网卡,ifconfig 是你临时看一眼或改一下网络状态的"小工具"。
bash
ifconfig //查看网卡信息
//启用eth0网卡并设置默认IP地址
sudo ifconfig eth0 192.168.1.14 netmask 255.255.255.0 up
//关闭网卡
sudo ifconfig eth0 down
3、网络管家( NetworkManager )
(1)配置网络,时效永久的;NetworkManager 是帮你永久 搞定网络配置的"大管家"。
(2)nmtui:是终端图形化网卡配置工具;也就是桌面通过设置配置WiFi界面。底层还是调用nmcli
(3)相关的配置文件在 /etc/NetworkManager/system-connections 目录下。
bash
nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24 //修改ip地址
nmcli connection modify ens33 ipv4.gateway 192.168.1.1 //修改网关地址
nmcli connection modify ens33 ipv4.dns 223.5.5.5 //修改子网掩码
nmcli connection modify ens33 ipv4.method manual //手动ip地址,如果不写还是自动
nmcli connection up ens33 //启动用网卡
一条指令运行:
nmcli connection modify ens33 \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns 223.5.5.5 \
ipv4.method manual
connection modify = 修改已存在的网卡连接配置档案
ipv4.method auto //自动获取ip地址
ipv4.method manual //手动获取ip地址
4、内核路由表配置( route )
主要用来添加路由表,也就是路由转发,配置网络包的下一跳。
查看路由表
route -n //查看路由表
route add //添加路由
route del //删除网卡
netstat -r //查看路由表
//添加路由(全网段)
#将路由表中没有匹配规则的包走10.71.84.2这台设备
sudo route add default gw 10.71.84.2
#将发给10.62.74.×的包转发给10.71.84.51设备
sudo route add -net 10.62.74.0/24 gw 10.71.84.51
//添加指定路由
sudo route add -host 10.62.74.4 gw 10.71.84.51
sudo route add -host 10.62.74.4 gw 10.71.84.51 eth0
5、检查网络状态(netstat)
netstat 主要查看网络状态,但是也比较老了,现代化命令是 ss
-a # all,显示所有连接(监听+已建立)
-t # tcp 协议端口
-u # udp 协议端口
-n # numeric,不解析域名/主机名,只显示数字IP(提速)
-l # listen,只看正在监听的端口(服务端口)
-p # program,显示占用端口的进程PID+程序名(root才能看)
-r # 查看路由表(等价 route 命令)
-i # 网卡流量统计
1. 查看所有正在监听的 TCP 端口(最常用)
netstat -tlnp
输出字段:协议、本地地址:端口、状态、PID / 程序名
用来查:哪个程序占用 80/22/8080 端口。
2、查看路由表
netstat -r
3、查看网卡转发流量统计
netstat -i
4. 看所有 TCP/UDP 连接(包括外部连接)
netstat -antp
5. 只看 UDP 监听端口
netstat -ulnp
6、配置翻译官(netplan)
除了**NetworkManager配置网络外,**这是另一种更改网络配置的方式,永久有效,底层也是调用了nmcli来处理。
主要配置文件:/etc/netplan/***.yaml ;文件名以 .yaml 结尾的文件
bash
//执行文件
tian@tian-hang:~$ cd /etc/netplan && ls
01-network-manager-all.yaml
//执行命令(理解为将01-network-manager-all.yaml文件交给NetworkManager执行)
sudo netplan apply
tian@tian-hang:/etc/netplan$ cat 01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager