ubuntu使用iptables 持久化



iptables 持久化

 

安裝持久化工具
apt-get install iptables-persistent

 

Ubuntu 16.04 調用語法
netfilter-persistent save
netfilter-persistent reload

 

一鍵清除iptables規則
cat clear_iptables_rule.sh
#!/bin/bash
iptables -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEP

 

iptables 轉發請求到80端口
1.使用DNAT實現
iptables -t nat -A PREROUTING -p tcp -i ens33 -d 192.168.122.128 --dport 8089 -j DNAT --to 192.168.122.128:80
2.使用redirect實現
iptables -t nat -A PREROUTING -p tcp --dport 8088 -j REDIRECT --to-port 80

====================

iptables本地端口轉發

1. 所有的81請求轉發到了8080上.

# iptables -t nat -A PREROUTING -p tcp --dport 81 -j REDIRECT --to-ports 8080
1
# iptables -t nat -A PREROUTING -p tcp --dport 81 -j REDIRECT --to-ports 8080
如果需要本機也可以訪問,則需要配置OUTPUT鏈:

iptables -t nat -A OUTPUT -p tcp --dport 81 -j REDIRECT --to-ports 8080
1
iptables -t nat -A OUTPUT -p tcp --dport 81 -j REDIRECT --to-ports 8080
原因:外網訪問需要經過PREROUTING鏈,但是localhost不經過該鏈,因此需要用OUTPUT,或者POSTROUTING。POSTROUTING不行,需要看看。

 

iptables 轉發到其它服務器

ubuntu 防火牆轉發規則: 

1首先把/etc/sysctl.conf配置文件中的net.ipv4.ip_forward=0改為net.ipv4.ip_forward=1
然后執行sysctl -p /etc/sysctl.conf使命令生效。

2配置防火牆的 IP 偽裝
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

3如果你想讓內部網絡內的某個服務器能夠被外部訪問,你可以使用 NAT 內 PREROUTING 鏈的 -j DNAT 目標來指定向目標 IP 地址以及端口轉發請求連接到內部服務器。例如,如果你想把進入的 HTTP 請求轉發到 172.11.0.21 上的專用 Apache HTTP 服務器服務器系統,運行以下命令
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT \
--to 172.11.0.21:80

4該規則允許把進入的80端口請求從防火牆轉發到172.11.0.21的服務器。
iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 172.11.0.21 -j ACCEPT

 


免責聲明!

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



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