ubuntu 上配置端口转发

第一步:

1
2
3
sysctl net.ipv4.ip_forward=1
等同于
编辑/etc/sysctl.conf文件,将net.ipv4.ip_forward=1前面的#注释去掉,保存文件,然后执行sudo sysctl -p使其生效

第二步:

1
2
iptables -t nat -A PREROUTING -p tcp -d 192.168.88.100 --dport 8088 -j DNAT --to 39.99.188.214:32767
iptables -t nat -A POSTROUTING -p tcp -d 39.99.188.214 --dport 32767 -j MASQUERADE

1
内网访问地址(相当于内网网卡的访问地址):192.168.88.100访问的外网地址:39.98.152.147:32767

 

1
iptables -t nat -A POSTROUTING -j MASQUERADE<br>执行了这句上不去网,但可以端口转发,没整明白。
查看状态
1
iptables -t nat -L -n

 

输入以下命令查看到每个规则chain的序列号。

 

1
iptables -L -n --line-number

  

根据序列号删除指定一条防火墙规则即可。

1
iptables -D INPUT 3 #删除INPUT的第三条已添加规则,这里3代表第几行规则

 

1
删除nat

iptables -t nat -D PREROUTING 1
iptables -t nat -D POSTROUTING 1

 

使用iptables-persistent实现重启后自动启动

  • 首先安装iptables-persistent工具
sudo apt install iptables-persistent
  • 每当设置了新的iptables规则后,使用如下命令保存规则即可,规则会根据ipv4和ipv6分别保存在了/etc/iptables/rules.v4和/etc/iptables/rules.v6文件中。
netfilter-persistent  save
由于 ipt­a­bles-per­sis­tent 在安装时已经把它作为一个服务设置为开机启动了,它在开机后会自动加载已经保存的规则,所以也就达到了永久保存的目的。
其实原理和第一种方法是类似的,只是设置起来会更简单一些。

posted on   刘顺利  阅读(4302)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示