温馨提示×

linux ifconfig如何跨网段

小樊
36
2026-09-29 03:48:28
栏目: 智能运维

在 Linux 里,ifconfig 本身并不能“跨网段”通信,它只是用来**配置网络接口(IP、掩码、网关等)**的工具。
“跨网段”能否通,取决于 IP 地址、子网掩码、路由表、网关 是否正确。

下面按常见情况说明:


一、理解“跨网段”

两个网段,例如:

  • A 网段:192.168.1.0/24
  • B 网段:10.0.0.0/24

如果两台机器 IP 不在同一网段,就必须通过 网关(路由器) 转发。


二、用 ifconfig 配置跨网段 IP(基本操作)

1️⃣ 给网卡配置跨网段 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 才会把“非本网段”的包发给网关


四、跨网段通信示例

场景

  • Linux A:192.168.1.10/24
  • 网关:192.168.1.1
  • 目标 B:10.0.0.20

A 上操作

ifconfig eth0 192.168.1.10 netmask 255.255.255.0
route add default gw 192.168.1.1

测试

ping 10.0.0.20

五、一台 Linux 同时跨两个网段(双网卡)

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

六、常见不通原因

  1. ❌ 没有网关
  2. ❌ 子网掩码错误
  3. ❌ 防火墙拦截(iptables / nftables)
  4. ❌ 中间路由器未允许转发
  5. ❌ 目标机器无回程路由

七、现代替代(推荐)

ifconfig 已逐渐被取代,建议用:

ip addr add 192.168.1.10/24 dev eth0
ip route add default via 192.168.1.1

如果你愿意,可以告诉我:

  • 是 两台 Linux 互通 还是 Linux 访问外网
  • 网络拓扑(几个网段、有没有路由器)

我可以直接帮你写完整命令。

0 踩