Linux转发完全教程:ip_forward开启、iptables端口映射、双网卡NAT实战

一、什么是Linux转发功能

Linux转发功能(IP Forwarding)是Linux内核的一项核心网络能力,它允许系统将从一个网络接口收到的数据包转发到另一个网络接口。开启此功能后,一台普通Linux主机就能变身为一台软路由器,在不同网段之间传递数据。

默认情况下,Linux会丢弃非本机的数据包。开启IP转发后,系统会检查数据包的目标IP,如果不是本机IP,就查询路由表找到合适的出口网卡,然后将数据包发送出去。

二、核心配置方法

  1. 临时开启(重启失效)

```bash

echo 1 > /proc/sys/net/ipv4/ip_forward

```

验证是否生效:

```bash

cat /proc/sys/net/ipv4/ip_forward

输出 1 表示已开启

```

  1. 永久开启(重启保留)

编辑系统配置文件`/etc/sysctl.conf`,添加或修改以下行:

```bash

net.ipv4.ip_forward = 1

```

然后执行命令使配置立即生效:

```bash

sysctl -p

```

三、双网卡转发场景

当Linux主机配备双网卡时,IP转发功能尤为重要。例如:

  • eth0连接外网(公网IP)

  • eth1连接内网(192.168.1.1)

开启IP转发后,内网设备可以eth1作为网关,通过eth0访问外网,实现共享上网。

四、配合iptables实现端口转发

仅开启IP转发是不够的,配合iptables才能实现真正的端口转发:

```bash

开启IP转发

echo 1 > /proc/sys/net/ipv4/ip_forward

添加DNAT规则(端口映射)

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80

添加MASQUERADE(让返回包正确路由)

iptables -t nat -A POSTROUTING -j MASQUERADE

允许转发

iptables -A FORWARD -j ACCEPT

```

五、常用管理命令

| 操作 | 命令 |

|------|------|

| 查看转发状态 | `sysctl net.ipv4.ip_forward` |

| 查看NAT规则 | `iptables -t nat -L -n -v` |

| 查看FORWARD链 | `iptables -L FORWARD -n -v` |

| 保存规则(CentOS) | `service iptables save` |

‍一句话总结:`echo 1 > /proc/sys/net/ipv4/ip_forward`临时开启,写入`/etc/sysctl.conf`永久生效,配合iptables即可实现Linux双网卡转发和端口转发功能。也可以用80km无痕网关,是一款隐藏真实IP、加速访问、节省成本的网络转发工具。通过跳板服务器中转流量,保护后端业务服务器安全。

相关推荐
天天进步201515 分钟前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
智慧光迅AINOPOL1 小时前
校园在线巡课系统方案:督导全覆盖
网络·全光网解决方案·全光网·校园全光网·校园全光网解决方案
Java面试题总结1 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
●VON1 小时前
AtomGit Flutter鸿蒙客户端:数据模型
android·服务器·安全·flutter·harmonyos·鸿蒙
酉鬼女又兒2 小时前
零基础入门计算机网络:网络层核心任务、三大关键问题、两种服务类型与 TCP/IP 网际层协议体系全解析
服务器·网络·网络协议·tcp/ip·计算机网络·php·求职招聘
Urbano2 小时前
工装制作全流程科普:从面料到自动化生产
网络·人工智能
2401_868534782 小时前
网规笔记 | 真题解析:2018年11月软考网规-网络安全案例分析
网络
Gauss松鼠会2 小时前
【GaussDB】GaussDB重要通信参数汇总
服务器·网络·数据库·sql·性能优化·gaussdb·经验总结
超级无敌zhq3 小时前
后渗透痕迹清理:攻防对抗中的隐身术
网络·数据库·网络安全
凡人叶枫3 小时前
Effective C++ 条款10:令 operator= 返回一个 reference to *this
java·linux·服务器·开发语言·c++·effective c++