linux服务器网络配置

📅 2026/7/14 13:39:18
linux服务器网络配置
目录1、centos的网络配置1.1 静态Ipv4配置方法1.2 动态Ipv4的设置方法1.3 常见ping不通网关的原因1.4 查看操作系统版本1.5 查看一台服务器的所有服务1.6 猜测所在房间网关ip2、 Ubuntu的网络配置静态ipv43、2024.6.14 解决ping不通网关4、2024.8.4交换机用串口线连上console口报错%LINK-4-DITHER: The state of Interface TenGigabitEthernet 0/25 is astable. Please check the physical link.5、 2024.9.13 解决服务器一个网口接入内网一个网口接入外网service network restart后无法ping通外网其他机器6、配置交换机的一些经验总结1、centos的网络配置1.1 静态Ipv4配置方法首先在/etc/sysconfig/network-scripts/找到网卡ifcfg-你的网卡名字eg.ifcfg-ens192然后vi ifcfg-ens192进去修改网卡配置这里采用静态IP方式(动态Ip更简单)具体修改选项如下BOOTPROTOstaticONBOOTyesIPADDR10.0.21.215NETMASK255.255.255.0GATEWAY10.0.21.254DNS18.8.8.8再去修改/etc/sysconfig/network里面的内容NETWORKINGyesGATEWAY10.0.21.254不同房间的网关不一样最后重启网络服务即可service network restart然后再试一试ping得通自身/网关/百度不。配置文件举例如下TYPEEthernetBOOTPROTOstatic#将原来的dhcp改为staticDEFROUTEyes#这里改为eth0 或者 ens33 比如NAMEens33NAMEens33#这个不知道 就可以不用设置#UUID69b5a74b-c46f-48e0-a2a5-959721dff85e#UUIDUUIDDEVICEens33#这里改为eth0 或者 ens33 比如DEVICEens33 可以不用这行ONBOOTyesIPADDR192.168.1.100# 你要设置的固定 IP 地址NETMASK255.255.255.0# 子网掩码GATEWAY192.168.1.1# 网关 IP 地址DNS18.8.8.8# 首选 DNS 服务器DNS28.8.4.4# 备选 DNS 服务器1.2 动态Ipv4的设置方法TYPEEthernetBOOTPROTOdhcp#关键DEFROUTEyesNAMEens33DEVICEens33#这里改为eth0 或者 ens33 比如DEVICEens33 可以不用这行ONBOOTyes#关键1.3 常见ping不通网关的原因1、服务器的实际物理网口位置标号 和 服务器操作系统/etc/sysconfig/network-scripts/的文件名不匹配如物理网口eth0对应的是ifcfg-eth4解决办法可以通过ethtool -p eth0查看某个网口是否连接上闪灯。貌似ip a命令显示结果中的UP和DOWN是/etc/sysconfig/network-scripts/配置文件里面的ONBOOT的值2、配置的eth0和网桥br0绑定了起来绑定了起来后配置了eth0ip没用检查办法bridge link查看解决办法本文下面3、如果报错no link present Check cable那么可以在配置文件的最后一项加上check_link_down(){ return 1; }例如ONBOOTyes#其他的改成no这样service network restart 更快些NM_CONTROLLEDyesBOOTPROTOdhcpcheck_link_down(){return1;}参考《CentOS 6.5 自动获取IP设置》4、其他参考《虚拟机ping不通网关之大坑》1.4 查看操作系统版本cat/etc/issue(适用所有发行版本)#如果是防火墙的话那么可能会出现 CAPSHEAF_FIREWALLcat/proc/versionuname-a1.5 查看一台服务器的所有服务netstat -nl1.6 猜测所在房间网关iplinux服务器是traceroute -d 10.0.22.2windows主机是tracert -d 10.0.22.2-d选项不将IP地址解析成主机名因此路由追踪速度快很多。 -h选项说明路由的最大跳数默认是30跳。 -w选项说明等待每一个ICMP响应报文的时间默认4s如果接收超时则显示星号*。跳数和等待时间使用默认值即可所以平时一般都不需要添加这两个选项。 -j选项说明ICMP报文要使用IP头中的松散源路由选项后面是经过的中间节点的地址或主机名字,最多9个各个中间节点用空格隔开。结果C:\Users\180tracert-d10.0.22.2 通过最多30个跃点跟踪到10.0.22.2 的路由17ms3ms3ms10.0.21.254#这个就是网关21ms1ms1毫秒10.0.22.2 跟踪完成。参考网址通过route -n就能查看到网关。2、 Ubuntu的网络配置静态ipv4重要参考《运维系列(亲测有效)如何在 Ubuntu 22.04 上配置静态IP地址》$iplink# Step1. 检查您的网络接口名称$sudovim/etc/netplan/00-installer-config.yaml#Step2.编辑网络配置文件 可以先备份一份# This is the network config written by subiquity Step3. 配置静态IP地址network: ethernets: ens160: dhcp4:falseaddresses:[10.24.0.83/16]gateway4:10.24.254.254 nameservers: addresses:[114.114.114.114,8.8.8.8]#注意‘:’和‘[’之间有个空格version:2$sudonetplan apply# Step4. 重启服务。类似centos的service network restart$ipaddress show ens160# 查看ip地址万一没有ifconfig命令的话问题1ping不通百度参考《Ubuntu 20.04 server不能ping提示“Temporary failure in name resolution”的解决方法》最终解决修改/etc/netplan/00-installer-config.yaml添加上域名# This is the network config written by subiquitynetwork: ethernets: ens160: dhcp4:falseaddresses:[10.24.0.83/16]gateway4:10.24.254.254 nameservers: addresses:[114.114.114.114,8.8.8.8]#注意‘:’和‘[’之间有个空格version:2问题2netplan apply时报错Error in network definition: expected mapping (check indentation) addresses:[114.114.114.114, 8.8.8.8]参考《Ubuntu18.04配置静态ip遇到的报错》最终解决address:[空格][144…冒号后面应该有个空格在ubuntu安装界面中配置ip地址subnet确实是子网掩码对应我们的就是10.24.0.0/16问题3没有ping命令重要参考Linux下安装ping命令sudoaptupdatesudoaptinstall-yiputils-ping# ubuntusudoyuminstall-yiputils# centos安装不起可能是没有连外网。问题4没有ifconfig命令用ip a命令查看ip安装重要参考sudoaptinstallnet-tools# ubuntu安装3、2024.6.14 解决ping不通网关最近配置硬件防火墙系统是centos系统。按照之前的配置方法进行配置配置了eth0的静态ip/动态ip虽然ping得通自身但是ping不通网关。ping得通原来的br0的ip地址查阅了些参考资料发现原因在于br0br0和eth0绑定在了一起导致配置了eth0的ip还是没用。解决办法1配置其他没和br0绑定的网卡比如说配置eth1的ip地址。解决办法2配置br0的ip地址配置成eth0的ip地址。下面有具体的图片解决办法3取消eth0和br0的绑定配置eth0的ip地址接下来就是学习这篇重要参考《Linux虚拟网络设备之bridge(桥)》1、ping -c 1 -I veth0 192.168.3.102这句命令是什么意思这个命令是使用ping工具来检测网络连接的。下面是对命令各部分的解释ping这是一个常用的网络诊断工具用于检查与目标主机的网络连接是否正常。-c 1这个选项指定了ping命令应该发送的echo请求即ICMP请求的数量。在这里1表示只发送一个请求。-I veth0这个选项指定了用于发送echo请求的网络接口。veth0是一个虚拟网络接口通常在Linux系统中用于容器或虚拟化环境。这个选项意味着echo请求将通过veth0接口发送。192.168.3.102这是目标主机的IP地址。ping命令将向这个IP地址发送echo请求。综上所述ping -c 1 -I veth0 192.168.3.102这句命令的意思是使用veth0网络接口向IP地址为192.168.3.102的目标主机发送一个echo请求并等待回应。这个命令通常用于测试网络接口是否能够成功发送和接收数据包。如果目标主机响应将显示回复的时间和相关的网络统计信息如果目标主机不响应可能会显示超时的错误信息。2、sudo tcpdump -n -i veth1这句命令是什么意思sudo这个前缀表示以超级用户root权限执行后面的命令。tcpdump通常需要root权限来访问网络接口并进行数据包捕获。tcpdump这是一个强大的网络分析工具用于捕获和显示通过网络接口传输的数据包。-n这个选项告诉tcpdump不要将网络地址解析为主机名和端口号而是以数字形式显示IP地址和端口号。这样可以加快捕获过程并减少输出的冗余信息。-i veth1这个选项指定了tcpdump应该监听的网络接口。veth1是一个虚拟网络接口通常在Linux系统中用于容器或虚拟化环境。这个选项意味着tcpdump将监听veth1接口上的数据包。综上所述sudo tcpdump -n -i veth1这句命令的意思是以root权限使用tcpdump工具来捕获通过veth1网络接口传输的所有数据包并以数字形式显示这些数据包的源和目标IP地址以及端口号。这个命令常用于网络调试、监控和分析。3、关于对网桥的理解bridge是一个虚拟网络设备所以具有网络设备的特征可以配置IP、MAC地址等其次bridge是一个虚拟交换机和物理交换机有类似的功能。br0和veth0相连之后相当于bridge在veth0和协议栈之间插了一脚将veth0本来要转发给协议栈的数据给拦截了全部转发给bridge了同时bridge也可以向veth0发数据。(谁和br0连上谁的数据就要发给br0而不再发给协议栈)veth0收到veth1的应答包后没有给协议栈而是给了br0于是协议栈得不到veth1的mac地址从而通信失败。4、和网桥相关的命令devdebian:~$sudoiplinkaddname br0typebridge#创建1个网桥devdebian:~$sudoiplinksetbr0 up#开启所创建的网桥devdebian:~$sudoiplinksetdev veth0 master br0# 将veth0连上br0devdebian:~$sudobridgelink#查看br0上连接了哪些设备6: veth0 state UP:BROADCAST,MULTICAST,UP,LOWER_UPmtu1500master br0 state forwarding priority32cost2devdebian:~$sudoiplinkaddveth0typeveth peer name veth1# 创建一对veth设备: veth0和veth1devdebian:~$sudoipaddradd192.168.3.101/24 dev veth0# 给Device veth0 配置上IPdevdebian:~$sudoipaddradd192.168.3.102/24 dev veth1# 给Device veth1 配置上IPdevdebian:~$sudoiplinksetveth0 up# 开启虚拟网卡veth0devdebian:~$sudoiplinksetveth1 up# 开启虚拟网卡veth1devdebian:~$sudoipaddr del192.168.3.101/24 dev veth0#删除Device veth1的上ipdevdebian:~$sudoipaddradd192.168.3.101/24 dev br0#给网桥br0配置上ip用ip link命令断开与eth0的连接iplinksetveth0 nomaster br05、一个ping命令会走哪些步骤 (协议栈、物理网卡、屏幕(和物理网卡对应)、外在设备)的关系参考《网络是怎样连接的(二) – 协议栈与网卡是如何工作的》发送时的数据包应用程序 - 协议栈 - 网卡接收时的数据包网卡 - 协议栈 - 应用程序6、核心问题如果我不换网口那么应该怎么配通网络应该配置br0的ip把eth1的网络ip配置到br0上eth0不配置ip但是ONBOOT要设置为onbr0的配置配置成eth0的配置通过vi ifcfg-br0配置或者通过ip addr add 10.0.23.82/24 dev br0配置4、2024.8.4交换机用串口线连上console口报错%LINK-4-DITHER: The state of Interface TenGigabitEthernet 0/25 is astable. Please check the physical link.诱因1、连上实验室某房间wifi无法上网无法ping通该房间的网关。通过该房间的有线网络也无法上网。2、但使用其他房间的wifi能ping得通上面房间的网关。插上串口线发现报错Connecting to COM5... Connected. *Aug 4 11:09:10: %LINK-4-DITHER: The state of Interface TenGigabitEthernet 0/25 is astable. Please check the physical link. *Aug 4 11:09:17: %LINK-3-UPDOWN: Interface TenGigabitEthernet 0/25, changed state to up. *Aug 4 11:09:17: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet 0/25, changed state to up. *Aug 4 11:09:20: %LINK-3-UPDOWN: Interface TenGigabitEthernet 0/25, changed state to down. *Aug 4 11:09:20: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet 0/25, changed state to down. *Aug 4 11:09:20: %LINK-4-DITHER: The state of Interface TenGigabitEthernet 0/25 is astable. Please check the physical link. *Aug 4 11:09:24: %LINK-3-UPDOWN: Interface TenGigabitEthernet 0/25, changed state to up. *Aug 4 11:09:24: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet 0/25, changed state to up. *Aug 4 11:09:28: %LINK-3-UPDOWN: Interface TenGigabitEthernet 0/25, changed state to down. *Aug 4 11:09:28: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet 0/25, changed state to down. *Aug 4 11:09:30: %LINK-4-DITHER: The state of Interface TenGigabitEthernet 0/25 is astable. Please check the physical link. *Aug 4 11:09:34: %LINK-4-DITHER: The state of Interface TenGigabitEthernet 0/25 is astable. Please check the physical link. *Aug 4 11:09:35: %LINK-3-UPDOWN: Interface TenGigabitEthernet 0/25, changed state to up. *Aug 4 11:09:35: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet 0/25, changed state to up. *Aug 4 11:09:40: %LINK-4-DITHER: The state of Interface TenGigabitEthernet 0/25 is astable. Please check the physical link. *Aug 4 11:09:45: %PORT-3-ERR_FRAME: Received error frames on interface TenGigabitEthernet 0/25. Please check the physical link. *Aug 4 11:10:00: %PORT-3-ERR_FRAME: Received error frames on interface TenGigabitEthernet 0/25. Please check the physical link. *Aug 4 11:10:15: %PORT-3-ERR_FRAME: Received error frames on interface TenGigabitEthernet 0/25. Please check the physical link. *Aug 4 11:10:30: %PORT-3-ERR_FRAME: Received error frames on interface TenGigabitEthernet 0/25. Please check the physical link. *Aug 4 11:10:46: %PORT-3-ERR_FRAME: Received error frames on interface TenGigabitEthernet 0/25. Please check the physical link网上搜解决方案【交换机】S86/12K交换机报*Jan 3 11:17:09: %LINK-4-DITHER: The state of Interface Te2/4/4 is astable.Please check the physical link.日志什么意思最终的解决插紧光口TenGigabitEthernet 0/25就通网了5、 2024.9.13 解决服务器一个网口接入内网一个网口接入外网service network restart后无法ping通外网其他机器问题为什服务器插了2个网口一个网关是10.0.22.254(eth4,和外网联通)一个网关是10.3.4.254(eth5,局域网 )service network restart之后态势不能ping通外网只能ping通局域网现象服务器有两个网关但是通过route -n显示只有一条默认路由这导致ping不通外网ip。Step1查看路由表$ route-nKernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface10.0.22.00.0.0.0255.255.255.0 U000eth410.3.4.00.0.0.0255.255.255.0 U000eth5169.254.0.00.0.0.0255.255.0.0 U100600eth4169.254.0.00.0.0.0255.255.0.0 U100700eth50.0.0.010.3.4.10.0.0.0 UG000eth5可以发现ping 外网ip会走默认路由对应网口eth5这是局域网网口所以就不会到外网区。所以需要加一条默认路由让数据包可以走eth4口出去。Step2增加一条默认路由让数据包经过网关10.0.22.254从网口eth4出去。通过以下命令$ routeadddefault via gw10.0.22.254#为啥第二次用会失效呢$ route-n#查看......Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface......0.0.0.010.0.22.2540.0.0.0 UG000eth40.0.0.010.3.4.10.0.0.0 UG000eth5注意目前好像没有看到直接改路由表的先删除后增加也可以视为修改。两条默认路由也不会冲突。可以发现这台服务器可以ping通外网了。但是外网机器ping不通这台服务器。Step3service network restart解决外网机器ping不通服务器。service network restart后通过route -n命令发现默认路由又是只有一条0.0.0.010.3.4.10.0.0.0 UG000eth5再次通过route add default via gw 10.0.22.254后可以成功ping通外网同时外网机器也能访问这条ip。原因分析如果一台服务器配了多个ip内网ip和外网ip但是默认路由只有一条的话那么就会让数据包仅从一个网关出去比如说内网网关从而无法访问外网。解决办法如上。6、配置交换机的一些经验总结1、trunk的设置一定是这条线路有多个VLAN 通过2、设置了交换机的默认路由能够让交换机的ipSVI或者no switch port能够ping通10.0.23.111其他网段。不然最多能ping到10.0.22.254房间网关。3、把交换机当成集线器/网线的方式就是这些口什么都不设置(等它接入默认VLAN比如说VLAN 1)4、VLAN1当成网线广播可以 和 其他VLAN 共存。5、做交换机的端口镜像不需要先配ip之类的可以直接做。6、路由器的不同端口一定是不同网段的7、交换机连路由器的端口ip一定要设置成同一网段的才能ping通交换机具有Ping命令。如果交换机不设置ip那么交换机就无法进行ping操作。8、两路由器相连相连的两个口必须是处于同一网段父子网段都不行。并且子网掩码的位数必须相同这样才只用设置1条回指路由不然可能有几个子网网段就设置几个回指路由很麻烦还可能ping不通。