centos7下配置iptables實現外網訪問內網服務器


說明:Centos 7 默認的防火牆是 firewall,安裝iptables之前需關閉Firewall

外網機器:
外網ip:120.25.71.183
內網ip:10.1.1.23

內網機器:
內網ip:10.1.1.24

禁止firewall開機啟動
使用 systemctl status firewalld 查看服務狀態
如果服務是運行狀態,先關閉 firewall 服務,命令如下:

systemctl stop firewalld

停止以后然后執行下面命令禁用:

systemctl disable firewalld

安裝iptables

yum install -y iptables-services

啟動iptables

systemctl start iptables

如之前已經設置過規則策略的,將原有的 iptables 文件保存一份,,避免之前設置的策略丟失,命令如下:
cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak

配置
1. 開啟內核轉發,重啟之后會還原

echo 1 > /proc/sys/net/ipv4/ip_forward

2. 執行如下iptables規則
說明:nat 主要用處是網絡地址轉換,也有三個鏈。PREROUTING 鏈的作用是在包剛剛到達防火牆時改變它的目的地址,
如果需要的話。OUTPUT 鏈改變本地產生的包的目的地址。POSTROUTING 鏈在包就要離開防火牆之前改變其源地址。
# 用DNAT做端口映射

iptables -t nat -A PREROUTING -d 120.25.71.183 -p tcp --dport 1522 -j DNAT --to-destination 10.1.1.24:80

# 用SNAT作源地址轉換,以使回應包能正確返回

iptables -t nat -A POSTROUTING -d 10.1.1.24 -p tcp --dport 80 -j SNAT --to 10.1.1.23

3. 保存添加的規則

iptables-save > /etc/sysconfig/iptables

4. 設置iptables開機啟動

systemctl enable iptables.service

5. 重啟iptables

systemctl restart iptables.service

6. 測試訪問

curl 120.25.71.183:1522


免責聲明!

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



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