在 Linux 里,ifconfig 本身并不能“跨网段”通信,它只是用来**配置网络接口(IP、掩码、网关等)**的工具。
“跨网段”能否通,取决于 IP 地址、子网掩码、路由表、网关 是否正确。
下面按常见情况说明:
两个网段,例如:
192.168.1.0/2410.0.0.0/24如果两台机器 IP 不在同一网段,就必须通过 网关(路由器) 转发。
ifconfig eth0 192.168.1.10 netmask 255.255.255.0
如果是另一个网段:
ifconfig eth0 10.0.0.10 netmask 255.255.255.0
⚠️ 只配 IP 不通,还必须配路由
查看当前路由:
route -n
添加默认网关:
route add default gw 192.168.1.1
或(推荐):
ip route add default via 192.168.1.1
✅ 这样 Linux 才会把“非本网段”的包发给网关
192.168.1.10/24192.168.1.110.0.0.20ifconfig eth0 192.168.1.10 netmask 255.255.255.0
route add default gw 192.168.1.1
ping 10.0.0.20
ifconfig eth0 192.168.1.10 netmask 255.255.255.0
ifconfig eth1 10.0.0.10 netmask 255.255.255.0
并开启转发(当路由器):
echo 1 > /proc/sys/net/ipv4/ip_forward
ifconfig 已逐渐被取代,建议用:
ip addr add 192.168.1.10/24 dev eth0
ip route add default via 192.168.1.1
如果你愿意,可以告诉我:
我可以直接帮你写完整命令。