Linux 同个局域网子网内,旁路由NAT配置

环境准备:

1、主路由

2、配置为旁路由的 Linux 设备(推荐用 Debian、Ubuntu、CentOS,不推荐 OpenWrt)

3、主路由配置子网段

假定:

IP:192.168.0.1

MASK:255.255.255.0

GW:192.168.0.1

4、配置旁路由 Linux 设备的IP设定

假定:

IP:192.168.0.20

MASK:255.2555.255.0

GW:192.168.0.1(主路由)

5、打开IPV4报文转发

临时开启:

方法一:echo 1 > /proc/sys/net/ipv4/ip_forward

方法二:sysctl -w net.ipv4.ip_forward=1

生效配置:

sysctl -p

永久配置自己改改,本文只说临时路由配置。

6、配置路由规则

指示接收并处理来自 192.168.0.0/24 主路由子网内的报文转发。

iptables -A FORWARD -s 192.168.0.0/24 -d 0.0.0.0/0 -j ACCEPT

iptables -A FORWARD -s 0.0.0.0/0 -d 192.168.0.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p icmp --icmp-type 30 -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type 30 -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 192.168.0.20

7、使用主路由其它网络设备,修改网关服务器为:192.168.0.20,进行上网测试。

FAQ:

正确配置,但仍旧无法访问网络,那么您可以检查是否存在 Docker, 若存在,卸载 Docker,这是因为 Docker 会改变,Linux 内核 SNAT 路由配置,这或破坏,旁路由配置。

小提示:

Docker 配置正常的情况下,并不会导致破坏母鸡(宿主)Linux 设备旁路由配置出现故障。

若有可能的情况下,人们应该使用嵌入式的 Debian 操作系统,因为它可以占用更少的资源,挤出更多硬件资源为应用程序、及内核SNAT路由转发服务。

相关推荐
Clownseven14 分钟前
Linux服务器健康检查Shell脚本:一键生成自动化巡检报告
linux·服务器·自动化
时间裂缝里的猫-O-1 小时前
@Linux问题 :bash fork Cannot allocate memory 错误分析与解决方案
linux·chrome·bash
躺不平的小刘1 小时前
从YOLOv5到RKNN:零冲突转换YOLOv5模型至RK3588 NPU全指南
linux·python·嵌入式硬件·yolo·conda·pyqt·pip
果子⌂1 小时前
Git+Jenkins实战(一)
运维·git·jenkins
愚昧之山绝望之谷开悟之坡1 小时前
| `cat /etc/os-release` | 发行版详细信息(如 Ubuntu、CentOS) |
linux·ubuntu·centos
chenglin0161 小时前
Logstash——输出(Output)
运维·jenkins
mysla1 小时前
嵌入式学习day34-网络-tcp/udp
服务器·网络·学习
苦逼IT运维1 小时前
Jenkins + SonarQube 从原理到实战四:Jenkins 与 Gerrit 集成并实现自动任务
运维·git·测试工具·ci/cd·jenkins
明天见~~3 小时前
Linux下的网络编程
linux·运维·网络
NEXU53 小时前
Linux:网络层IP协议
linux·网络·tcp/ip