From:https://juejin.cn/s/debian%20%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91
Debian系统中,可以使用iptables命令进行端口转发,具体步骤如下:
- 首先需要确认系统中是否已经安装iptables命令,如果没有安装,则需要使用以下命令进行安装:
arduino
复制代码
|
1 |
sudo apt-get install iptables |
- 然后,需要开启IP转发功能,可以通过编辑
/etc/sysctl.conf文件来进行设置:
bash
复制代码
|
1 |
sudo nano /etc/sysctl.conf |
在文件末尾添加以下内容:
ini
复制代码
|
1 |
net.ipv4.ip_forward=1 |
保存并退出文件,然后运行以下命令使修改生效:
css
复制代码
|
1 |
sudo sysctl -p |
- 接下来,需要使用iptables命令进行端口转发配置,假设需要将外部主机的80端口请求转发到内部主机的8080端口,可以使用以下命令:
css
复制代码
|
1 2 |
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 内部主机IP:8080 sudo iptables -t nat -A POSTROUTING -j MASQUERADE |
其中,-t nat选项表示转发表,-A PREROUTING表示在PREROUTING链中添加规则,-p tcp表示只转发TCP协议的数据包,--dport 80表示目标端口为80,-j DNAT表示将数据包目标地址改为内部主机的IP地址和8080端口号。
-A POSTROUTING表示在POSTROUTING链中添加规则,-j MASQUERADE表示使用NAT进行地址伪装。
- 最后,需要保存iptables规则,以便系统重启后自动生效,可以使用以下命令:
arduino
复制代码
|
1 |
sudo sh -c "iptables-save > /etc/iptables.rules" |
然后,可以编辑/etc/network/interfaces文件,在末尾添加以下内容,使系统在启动时加载iptables规则:
javascript
复制代码
|
1 |
pre-up iptables-restore < /etc/iptables.rules |
以上就是在Debian系统中进行端口转发的步骤。
