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 -j ACCEPT

 

iptables -t nat -L

然后用以下命令查看配置結果(筆者還配置了443轉發8443)

 

 

編輯網卡信息的啟動關閉腳本

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

如果想在關機的時候自動保存修改過的iptables規則,可添加如下行
post-down iptables-save > /etc/iptables.rules

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM