Linux下使用iptables配置防火墙端口转发

Posted passedbylove

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下使用iptables配置防火墙端口转发相关的知识,希望对你有一定的参考价值。

1、背景

一些情况下,在linux上面我们想使用80-1024之间的端口,这个时候需要root权限。

当时root权限容易被提权,特别是早起那些Struct2,漏洞爆出的时候,一抓一个准-root权限,然后系统沦陷,被黑客控制住了。

开启端口转发:

vim /etc/sysctl.conf
#前面的#注释去掉
net.ipv4.ip_forward=1

 

当然不使用root,低权限账号也是可以使用80-1024之间端口的,我们需要在防火墙配置nat规则。

例如把外网访问来的TCP 80端口重定向到8080

iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -I OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080

注意:一定要把ssh端口添加到防火墙放行规则里,否则生效后无法登录

iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
iptables -A OUTPUT -p tcp --sport 22

 

iptables -t nat -L

然后用以下命令查看配置结果(笔者还配置了443转发8443)

Linux下使用iptables配置防火墙端口转发_root权限

 

 

编辑网卡信息的启动关闭脚本

在/etc/network/interfaces的末尾添加如下一行: 
pre-up iptables-restore < /etc/iptables.rules

如果想在关机的时候自动保存修改过的iptables规则,可添加如下行
post-down iptables-save > /etc/iptables.rules

Linux下使用iptables配置防火墙端口转发_80端口_02

 

以上是关于Linux下使用iptables配置防火墙端口转发的主要内容,如果未能解决你的问题,请参考以下文章

Linux下使用Rinetd来实现端口转发

CentOS7.x上轻量级TCP转发工具rinetd的安装配置

iptables实现端口转发

linux下的防火墙

Linux端口转发的几种常用方法

Linux端口转发的几种常用方法