Linux(ubuntu)如何用iptables实现端口映射

本文详细介绍了如何在Linux系统中开启数据转发功能,并利用iptables实现NAT映射,将外网访问本地IP的指定端口重定向到另一台机器上的不同端口,以绕过网络限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,必须开启linux的数据转发功能,具体开启步骤如下:

1 vi /etc/sysctl.conf

2 将net.ipv4.ip_forward=0更改为net.ipv4.ip_forward=1 ,并取消掉前面的注视符“#”

3 sysctl -p(这条命令是使数据转发功能生效)

现在就可以更改iptables了,使之实现nat映射功能:

例如:你要将外网访问本地IP(192.168.75.5)的80端口转换为访问192.168.75.3的8000端口,你可以用如下命令:

1)iptables -t nat -A PREROUTING -d 192.168.75.5 -p tcp --dport 80 -j DNAT --to-destination 192.168.75.3:80002)iptables -t nat -A POSTROUTING -d 192.168.75.3 -p tcp --dport 8000 -j SNAT 192.168.75.5 (我执行这句时有错误!!没有用到该部分)

我执行的语句只有:sudo iptables -t nat -A PREROUTING -d *.*.*.* -p tcp --dport 80 -j DNAT --to-destination *.*.*.*:9000
因为,我是要将80端口转发到9000端口,因为80端口被电信封掉了,外部无法访问,因此就使用9000端口。这样通过域名就可以直接访问内部9000端口提供的WEB服务了。

可以使用命令:iptables -t nat --list检查nat列表信息:

结果如下图所示

Nat列表信息删除:

iptables -t nat -D PREROUTING 1    //序号从1 开始,后边以此+1.


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值