Linux网络管理

查看网络配置

网卡信息

网卡名称

根据网卡的拓扑类型命名,如ens192

在更高版本中接口的命名规则是:

前两个字符:Ethernet接口以en开头,WLAN接口以wl开头,WWAN接口以ww开头。

下一个字符:o (onboard)代表板载设备,s(slot)代表PCI热插拔,p代表pci接口网卡。

最后N表示index ID或者port。

例如

eno1,代表以太网类型,板载设备,端口号是1的网卡。

wlp4s0,代表位于PCI总线4上插槽0中的WLAN卡。

enp0s1f0,代表PCI总线0上插槽1中的以太网卡的功能0。

复制代码
ip link
ip -br link
复制代码
ip -br link show ens192

查看IP

复制代码
ip -br addr show ens192

查看路由

复制代码
ip -br route

查看dns

复制代码
cat /etc/resolv.conf

网络连通性测试

ping测试

复制代码
ping -c 控制ping的次数
ping -w 控制ping超时时间

能解析出ip说明dns配置正确

能ping通说明网关配置正确

路由跟踪

复制代码
mtr -n 1.1.1.1

ss工具

/etc/services 可以查看服务对应端口

复制代码
ss -t 显示所有TCP连接
ss -u 显示UDP连接
ss -n 将服务的名称显示为数字
ss -x 查看本地进程通信
ss -a 查看所有
ss -4 查看类型为ipv4的所有
ss -6 查看类型为ipv6的所有
ss -l 查看监听类型(listen)

配置网络

网络配置是由NetworkManager服务管理,确保该服务开机自启

复制代码
systemctl status
systemctl enable

nmtui命令

复制代码
nmtui
自动配置

确定返回退出,更改完成后,重新激活ens192。

复制代码
nmcli connection modify ens192 1pv4.method auto #将ens192网卡的ipv4地址配置设置为自动
nmcli connection up ens192 #重新激活ens192网卡

手动配置

确定返回退出,更改完成后,重新激活ens192。

复制代码
nmcli connection add type ethernet ifname ens192 con-name ens192-static ipv4.method manual ipv4.address 10.1.8.10/24
nmcli connection up ens192-static
查询状态

带*说明已激活

nmcli命令

网络启停
复制代码
nmcli networking off
nmcli networking on
停止网络,并不会停止NetworkManager服务
设备控制

device,设备,即网卡

connection,连接,即网卡配置

一个device可以有多个connection,但是同一时刻只能激活一个

复制代码
nmcli device
复制代码
nmcli device disconnect ens192
复制代码
nmcli device connect ens192
nmcli device
复制代码
nmcli device show ens192
自动获取
复制代码
nmcli connection
复制代码
nmcli connection delete ens192
nmcl connection
复制代码
nmcli connection add type ethernet ifname ens192 con-name ens192-auto #添加类型为以太网接口对应ens192的名为ens192-auto的网卡
nmcli connection modify ens192-auto ipv4.method auto #修改名为ens192-auto的网卡的ipv4地址配置为自动
nmcli connection up ens192-auto #激活ens192-auto网卡
手动配置
复制代码
nmcli connection add type ethernet ifname ens192 \ #指定物理设备接口名称 绑定到物理接口为ens192的网络接口 ifname = interface name
con-name ens192-static \ #重命名为ens192-static
ipv4.method manual \ #手动配置的静态ip 而不是dhcp自动获取
ipv4.address 10.1.1.10/24 #ipv4地址为10.1.1.10/24
配置主机名

主机名规范:短名称+域名

复制代码
hostname #查看主机名
hostnamectl set-hostname server.robin #hostnamectl命令在修改主机名的同时会修改配置文件/etc/hostname
echo server.robin > /etc/hostname #直接修改配置文件
配置名称解析

当访问其他主机时,名称会映射为ip地址,与目标主机通信

linux服务器解析名称顺序为/etc/hosts文件→DNS服务器

复制代码
echo 10.1.8.10 server.robin server > /etc/hosts
echo 10.1.8.11 client.robin client > /etc/hosts

思考

当ssh登录不成功时,考虑因素有哪些?

首先物理层面:

网线是否连接正常

交换机路由器工作是否正常

ip和网关的配置是否正常

域名解析的配置是否正常

防火墙的配置是否正常

逻辑层面:

服务器和客户端之间能否ping通

sshd服务是否正常运行

ssh配置文件是否有限制

密钥文件权限是否正常(600)

.ssh/known_hosts中的公钥是否匹配指纹