系统为CentOS7.6,和其他版本命令可能不太一样
排查网络错误
事出有因: 一台内网服务器,因为内部 IP 会变化,在 CentOS7 的网卡中设置成了固定 IP,偶然有一次断电,重启,把服务器搬到别的地方了,早上上班来了就没法连接服务器,以为是配置问题,因为没改过东西,网线也是新网线,没多想,最终调试一番发现是网线有问题。
主要调试过程:
nmcli device show
或者 ip add
命令查看网卡信息,查到使用的是 eno1, 存放在 /etc/sysconfig/network-scripts/ 目录下,把静态 IP 设置为动态获取的IP,主要是修改 ifcfg-eno1 文件,修改原来的两个配置项为 BOOTPROTO=dhcp
, REBOOT=yes
,保存文件,执行 service network restart
重启服务,在通过 ip addr
查看 IP 地址,如果不能找到的话,可能是由于备份文件导致的,个人亲历是 restart 服务报错,看日志是两个文件都加载了,删掉备份文件,成功 restart 了。
基本这个时候是成功了,ping baidu.com
可以测试本机是否联网的,丢包率高偶尔是一些 docker 类的服务在占用出口。之后可以继续使用动态 IP,也可以重新设置为静态 IP,同样的操作,只需要确定设置的 IP 未被占用就行。
系统防火墙的注意点
CentOS7 之后,防火墙改为了 firewall-cmd 形式,一般测试阶段可能临时打开或者关闭一些端口,重启机器之后,这些端口再次发挥作用,影响了正常应用,这个主要是在具体软件或者项目使用时会遇到的问题,可以开启端口的时候追加参数为永久有效,命令为 firewall-cmd --zone=public --add-port=8083/tcp --permanent
, 其中 --permanent
为永久有效,没有这个参数的话为临时有效。
额外的笔记
在 windows 10 系统下,有个 ARP 命令,功能:显示或修改 ARP 协议使用的高速缓存中 IP 地址和物理地址的映射关系。其中 arp -a [inet_addr] [-N if_addr]
显示 IP 地址和物理地址映射表。其中 inet_addr 指明只显示这个 IP 地址的物理地址,if_addr 指明只显示这个网络接口的物理地址(一个网卡可能有多个 IP 地址,一个物理网络上可以有多个逻辑网络,主机可能有多个网卡),如果不指明则是扫描当前网络下的所有地址,目的在于观察对应的服务器 IP 是否在当前网络中。
windows 10 下测试服务器的端口是否通,可以使用 telnet ip port
这样的命令,telnet 需要开启 windows 的功能。
有错误或者讨论问题,请联系 hexiaodong1992@outlook.com
© 原创文章
最后恰饭 阿里云全系列产品/短信包特惠购买 中小企业上云最佳选择 阿里云内部优惠券