Linux网段互访怎么设置?Linux不同网段之间如何配置通信

在 Linux 系统中,实现不同网段(子网)之间的互访,核心在于路由配置,当两台主机不在同一个二层网络(即不在同一个子网)时,数据包必须通过网关(Gateway)路由器进行转发。

以下是实现 Linux 网段互访的完整指南,涵盖场景、配置方法和常见问题排查。

不同网段通信如何配置,配置方法+应用场景讲解
加载中
不同网段通信如何配置,配置方法+应用场景讲解

核心原理

  1. 同网段互访:通过 ARP 协议解析 MAC 地址,直接二层通信。
  2. 跨网段互访
    • 源主机检查目标 IP 是否在同一网段。
    • 如果不在,源主机会将数据包发送给默认网关特定路由表中的下一跳
    • 网关/路由器根据路由表将数据包转发到目标网段。

常见场景与配置方法

场景 1:临时测试(使用 ip route 命令)

适用于临时添加路由,重启后失效。

假设:

  • 本机 IP:168.1.10/24
  • 目标网段:0.0.0/24
  • 网关 IP:168.1.1

添加路由:

# 语法:ip route add <目标网段> via <网关IP> dev <网卡名>
sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0

删除路由:

sudo ip route del 10.0.0.0/24

查看路由表:

ip route show
# 或
route -n

场景 2:永久配置(推荐)

永久配置需根据 Linux 发行版选择不同方法。

✅ 方法 A:使用 Netplan(Ubuntu 18.04+ / Debian 11+)

Linux网段互访怎么设置?Linux不同网段之间如何配置通信

  1. 编辑 Netplan 配置文件(通常在 /etc/netplan/ 目录下,如 01-netcfg.yaml50-cloud-init.yaml):
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.10/24
      routes:
        - to: 10.0.0.0/24
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 114.114.114.114
  1. 应用配置:
    sudo netplan apply

✅ 方法 B:使用 NetworkManager(CentOS/RHEL 8+ / Fedora / Ubuntu 桌面版)

使用 nmcli 工具:

# 添加静态路由到指定连接(假设连接名为 eth0)
sudo nmcli connection modify eth0 +ipv4.routes "10.0.0.0/24 192.168.1.1"
sudo nmcli connection up eth0

✅ 方法 C:使用 /etc/network/interfaces(Debian/Ubuntu 传统方式)

编辑 /etc/network/interfaces

auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1
    # 添加静态路由
    up route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.1
    down route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.1

重启网络服务:

sudo systemctl restart networking

✅ 方法 D:使用 systemd-networkd(Arch Linux / 部分服务器)

编辑 /etc/systemd/network/10-eth0.network

[Network]
Address=192.168.1.10/24
Gateway=192.168.1.1
[Route]
Destination=10.0.0.0/24
Gateway=192.168.1.1

Linux网段互访怎么设置?Linux不同网段之间如何配置通信

重启服务:

sudo systemctl restart systemd-networkd

场景 3:多网卡/复杂路由(策略路由)

Linux 主机有多个网卡,且需要基于源 IP 或目标 IP 选择不同的网关,需使用 策略路由

eth1 发出的流量走网关 168.2.1,从 eth0 发出的流量走网关 168.1.1

  1. 创建自定义路由表(如 table10):

    echo "10 custom_table" | sudo tee -a /etc/iproute2/rt_tables
  2. 添加规则:

    # 从 eth1 发出的流量使用 table10
    sudo ip rule add from 192.168.2.0/24 table 10
    # 在 table10 中添加默认网关
    sudo ip route add default via 192.168.2.1 dev eth1 table 10

防火墙与安全组检查

即使路由正确,防火墙也可能阻止跨网段通信。

检查 iptables/nftables

# 查看当前规则
sudo iptables -L -n -v
# 临时允许所有流量(仅用于测试)
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

检查 firewalld(CentOS/RHEL)

sudo firewall-cmd --list-all
# 临时关闭测试
sudo systemctl stop firewalld

检查 ufw(Ubuntu)

sudo ufw status
# 临时关闭测试
sudo ufw disable

云环境安全组

  • 如果是云服务器(AWS、简米云、酷番云等),还需检查安全组网络 ACL 是否允许相应端口和 IP 段访问。

Linux网段互访怎么设置?Linux不同网段之间如何配置通信

常见问题排查步骤

  1. Ping 测试

    ping <目标IP>
    • ping 不通,但 arp -a 能看到网关 MAC,说明路由问题。
    • arp -a 看不到网关,说明二层不通或网关未响应 ARP。
  2. 追踪路由

    traceroute <目标IP>
    # 或
    mtr <目标IP>

    查看数据包在哪一跳丢失。

  3. 检查路由表

    ip route show

    确保目标网段有对应的路由条目。

  4. 检查网关是否可达

    ping <网关IP>
  5. 检查目标主机防火墙
    确保目标主机允许来自源网段的 ICMP 或特定端口访问。


步骤 操作
1 确认本机 IP 和子网掩码
2 确认目标网段和网关 IP
3 添加静态路由(ip route add 或配置文件)
4 检查本机防火墙(iptables/firewalld/ufw)
5 检查目标主机防火墙和安全组
6 使用 pingtraceroute 验证

⚠️ 注意:在生产环境中,建议使用永久配置文件(如 Netplan、NetworkManager)来管理路由,避免重启后失效,务必确保防火墙规则允许跨网段通信。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/476288.html

(0)
RepriseHosting西雅图服务器$27.97/月性能如何?美国服务器租用推荐
上一篇 2026年7月9日 20:47
HBASE数据库试用优惠是真的吗?HBASE数据库试用优惠怎么领取
下一篇 2026年7月9日 20:51

相关推荐

  • 10g服务器空间一年多少钱,哪个性价比高?

    10G服务器空间一年多少钱?根据行业主流定价,一台10GB存储空间的云服务器年费大约在500元至3000元之间,具体取决于CPU、内存、带宽等配置,其中入门级实例通常不超过800元/年,这个价格区间覆盖了从个人博客到中小企业轻量级应用的需求,但实际支出会因服务商的资质、网络质量以及附加服务产生浮动,下面从配置选……

    2026年7月31日
    500
  • 线上GPU服务器租一年多少钱,哪个平台性价比高?

    线上GPU服务器租用一年的费用从数千元到数十万元不等,主要取决于GPU型号、配置、带宽和机房等级,对于大多数AI训练和渲染场景,年均预算在2万至5万元之间即可获得稳定可靠的服务,为什么GPU服务器租用一年更划算长期租用GPU服务器,在成本和服务稳定性上都有明显优势,年付模式通常能享受月付价格10%到20%的折扣……

    2026年8月7日
    800
  • Linux系统如何进行固化,安全加固步骤和注意事项有哪些

    Linux系统固化不是一次性操作,而是基于最小权限、纵深防御和持续监控的动态过程,其核心目标是消除已知漏洞、减少攻击面并确保系统符合安全基线,Linux系统固化步骤详解我们先把固化这件事拆成可执行的流程,业内专家普遍认为,一套完整的固化方案应该包含信息收集、账户精简、服务关闭、内核加固、应用层防护以及日志审计这……

    2026年7月20日
    700
  • 云服务器多少钱一小时

    云服务器按小时计费的价格通常在几分钱到几块钱之间,具体取决于配置、计费模式和服务商,短期弹性需求适合按量付费,长期业务建议包年包月,影响云服务器每小时价格的核心因素实例配置与规格CPU核数、内存大小、硬盘类型和容量直接影响基础单价,1核1G配置的按量价格通常在几分钱到一毛钱左右每小时,而4核8G配置则上升到几毛……

    2026年8月18日
    700
  • 一个G的服务器能同时容纳多少人登录,怎么选?

    1核1G内存的云服务器,在网站或应用优化得当的情况下,大约能同时支撑100-300人正常登录使用,但实际并发数受应用类型、代码效率、数据库设计等因素影响,差距可能很大,很多人问“一个g的服务器能能同时多少人登录”,其实没有固定答案,但我们可以通过拆解关键因素,让你心里有数,下面从底层逻辑到具体场景,给你讲透这件……

    2026年7月25日
    700
  • 服务器满载最大功率到底是多少瓦,服务器功率多少瓦合适

    服务器满载最大功率没有固定数值,常见主流双路机架服务器满载功耗在800W到2000W之间,搭载GPU的高性能计算节点则可突破3000W,这个数字受CPU型号、内存数量、硬盘类型、扩展卡以及电源转换效率共同影响,下面结合实测路径和行业通用数据拆解,满载功率的差异到底有多大按服务器规格划分的典型功耗区间不能用一个数……

    2026年8月17日
    1000
  • mc35人服务器租用要多少钱?,哪家便宜?

    35人Minecraft服务器租用,月预算通常在80元至300元之间,具体取决于你开的是原版服还是模组服、选择云服务器还是物理机,以及服务商的带宽与防御配置,选对配置和服务商,远比单纯比价格更重要,为什么35人服务器的价格差异这么大很多玩家第一次租服务器时,习惯直接搜“多少钱”,然后被各种报价绕晕,35人服的价……

    2026年8月22日
    000
  • C++ mutex在Linux下怎么用?linux c++多线程互斥锁详解

    在Linux环境下使用C++进行多线程编程时,std::mutex是解决资源竞争、保证数据一致性的标准且高效方案,配合std::lock_guard或std::unique_lock能自动管理锁的生命周期,避免死锁和内存泄漏,多线程开发中,线程安全是绕不开的难题,当多个线程同时访问共享资源时,如果没有适当的同步……

    2026年7月10日
    9700
  • linux sdio wifi驱动怎么装?linux sdio wifi驱动安装教程

    Linux系统下SDIO WiFi模块驱动失败或连接不稳定,核心原因通常在于内核版本兼容性不足、设备树(Device Tree)配置错误或固件文件缺失,通过正确加载固件并调整内核参数可解决绝大多数问题,在嵌入式开发领域,Linux与SDIO WiFi的结合几乎是标配方案,从早期的RTL8188到现在的MT760……

    2026年7月4日
    4510
  • Linux报错ora-12170怎么办?ora-12170错误代码解决方法

    Ora-12170错误通常由Linux客户端与Oracle数据库服务器之间的网络连接超时或TCP/IP配置不一致引起,核心解决思路是检查监听器状态、调整SQLNET.ORA中的超时参数,并验证防火墙规则,当你在Linux终端执行数据库连接命令时,如果屏幕突然弹出一串红色的报错信息,其中赫然写着ORA-12170……

    2026年7月7日
    7200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注