Linux 高级路由策略控制配置:两个不同路由子网间通信

场景:

Linux 路由服务器,设备上存在两个子网路由段

1、eth0 192.168.0.0/24 网卡IP为:192.168.0.8

2、ppp 10.0.0.0/24 网卡IP为:10.0.0.244

现期望,192.168.0.0子网接入设备(如:192.168.0.24),可以通过该 Linux 路由器跨域访问 10.0.0.251。

方案:

1、修改 /etc/sysctl.conf 文件

bash 复制代码
net.ipv4.conf.all.route_localnet=1
net.ipv4.ip_forward=1
net.ipv4.conf.all.forwarding=1
net.ipv4.conf.default.forwarding=1

net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.lo.forwarding = 1
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0

net.ipv6.conf.all.accept_ra = 2
net.ipv6.conf.default.accept_ra = 2

net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.default.secure_redirects=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0

添加上述的内核选项配置,并且通过 sysctl -p 命令生效路由转发。

2、配置 iptables SNAT路由转发配置。

192.168.0.0/24 为 eth0 网卡输入的报文,将其转发给 ppp 网卡并修改 SourceIP 为

10.0.0.1(网关IP)或 10.0.0.244(网卡接口IP)

bash 复制代码
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp -j SNAT --to-source 10.0.0.1

若设置为网关IP,必须设置 -o 具体输出网卡,-i 为输入网卡。

替代方案:

bash 复制代码
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 10.0.0.244

3、如果不采用,第二项指出的路由转发配置,可以使用以下的替代方案。

bash 复制代码
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp -j MASQUERADE

上述命令行强制设置输出网卡接口,该命令会在内核中自动使用网卡的接口SNAT。

bash 复制代码
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

上述命令行没有强制输出网卡接口,该命令会在内核中自动根据路由表设置SNAT。

测试效果:

相关推荐
专注API从业者4 分钟前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
liulilittle18 分钟前
IP校验和算法:从网络协议到SIMD深度优化
网络·c++·网络协议·tcp/ip·算法·ip·通信
Ribou36 分钟前
Ubuntu 24.04.2安装k8s 1.33.4 配置cilium
linux·ubuntu·kubernetes
c&0xff001 小时前
Flink反压问题
网络·flink
深圳多奥智能一卡(码、脸)通系统1 小时前
基于多奥(DAIC)品牌的IC卡电梯门禁系统(梯控)基础配置清单,整合核心硬件、软件及安全组件,确保系统可独立运行并支持未来扩展
网络
googleccsdn1 小时前
ESNP LAB 笔记:配置MPLS(Part4)
网络·笔记·网络协议
tan180°1 小时前
Boost搜索引擎 网络库与前端(4)
linux·网络·c++·搜索引擎
Mr. Cao code2 小时前
Docker:颠覆传统虚拟化的轻量级革命
linux·运维·ubuntu·docker·容器
Dontla2 小时前
Docker多共享网络配置策略(Docker多网络、Docker networks、Docker Compose网络、Docker网络、Docker共享网络)
网络·docker·容器
抓饼先生2 小时前
Linux control group笔记
linux·笔记·bash