建立iptables NAT規則(轉)
建立iptables NAT規則(轉)[@more@]#!/bin/sh## File: rc.firewall.nat## Set up iptables NAT rules.IPTABLES="/usr/local/sbin/iptables"EXTERNAL1="eth0"EXTERNAL2="eth0"INTERNAL="eth1"DMZ_IF="eth2"EXT_IP1="216.162.197.10/32"EXT_IP2="216.162.197.11/32"$IPTABLES -F -t nat$IPTABLES -t nat -X####################################################################################### Sentry.net EXTERNAL DNAT$IPTABLES -t nat -N SENTRY_DNAT$IPTABLES -t nat -F SENTRY_DNAT##-----------------------------------------------------------------------------##$IPTABLES -t nat -A SENTRY_DNAT -i $EXTERNAL1 -p tcp -s ! 192.168.0.0/16-d $EXT_IP1 --dport 20 -j DNAT --to-destination 192.168.2.69:20$IPTABLES -t nat -A SENTRY_DNAT -i $EXTERNAL1 -p tcp -s ! 192.168.0.0/16-d $EXT_IP1 --dport 21 -j DNAT --to-destination 192.168.2.69:21$IPTABLES -t nat -A SENTRY_DNAT -i $EXTERNAL1 -p tcp -s ! 192.168.0.0/16-d $EXT_IP1 --dport 22 -j DNAT --to-destination 192.168.2.69:22$IPTABLES -t nat -A SENTRY_DNAT -i $EXTERNAL1 -p tcp -s ! 192.168.0.0/16-d $EXT_IP1 --dport 23 -j DNAT --to-destination 192.168.2.69:23$IPTABLES -t nat -A SENTRY_DNAT -i $EXTERNAL1 -p tcp -s ! 192.168.0.0/16-d $EXT_IP1 --dport 25 -j DNAT --to-destination 192.168.2.69:25$IPTABLES -t nat -A SENTRY_DNAT -i $EXTERNAL1 -p tcp -s ! 192.168.0.0/16-d $EXT_IP1 --dport 80 -j DNAT --to-destination 192.168.2.69:80$IPTABLES -t nat -A SENTRY_DNAT -i $EXTERNAL1 -p tcp -s ! 192.168.0.0/16-d $EXT_IP1 --dport 110 -j DNAT --to-destination 192.168.2.69:110##-----------------------------------------------------------------------------######################################################################################### Obsidian.net/org EXTERNAL DNAT$IPTABLES -t nat -N OBS_DNAT$IPTABLES -t nat -F OBS_DNAT##-----------------------------------------------------------------------------##$IPTABLES -t nat -A OBS_DNAT -i $EXTERNAL2 -p tcp -s ! 192.168.0.0/16-d $EXT_IP2 --dport 20 -j DNAT --to-destination 192.168.2.42:20$IPTABLES -t nat -A OBS_DNAT -i $EXTERNAL2 -p tcp -s ! 192.168.0.0/16-d $EXT_IP2 --dport 21 -j DNAT --to-destination 192.168.2.42:21$IPTABLES -t nat -A OBS_DNAT -i $EXTERNAL2 -p tcp -s ! 192.168.0.0/16-d $EXT_IP2 --dport 22 -j DNAT --to-destination 192.168.2.42:22$IPTABLES -t nat -A OBS_DNAT -i $EXTERNAL2 -p tcp -s ! 192.168.0.0/16-d $EXT_IP2 --dport 23 -j DNAT --to-destination 192.168.2.42:23$IPTABLES -t nat -A OBS_DNAT -i $EXTERNAL2 -p tcp -s ! 192.168.0.0/16-d $EXT_IP2 --dport 25 -j DNAT --to-destination 192.168.2.42:25$IPTABLES -t nat -A OBS_DNAT -i $EXTERNAL2 -p tcp -s ! 192.168.0.0/16-d $EXT_IP2 --dport 80 -j DNAT --to-destination 192.168.2.42:80$IPTABLES -t nat -A OBS_DNAT -i $EXTERNAL2 -p tcp -s ! 192.168.0.0/16-d $EXT_IP2 --dport 110 -j DNAT --to-destination 192.168.2.42:110##-----------------------------------------------------------------------------######################################################################################## Sentry.net INTERNAL DNAT$IPTABLES -t nat -N SENTRY_DNAT_INT$IPTABLES -t nat -F SENTRY_DNAT_INT##-----------------------------------------------------------------------------##$IPTABLES -t nat -A SENTRY_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP1 --dport 20 -j DNAT --to-destination 192.168.2.69:20$IPTABLES -t nat -A SENTRY_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP1 --dport 21 -j DNAT --to-destination 192.168.2.69:21$IPTABLES -t nat -A SENTRY_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP1 --dport 22 -j DNAT --to-destination 192.168.2.69:22$IPTABLES -t nat -A SENTRY_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP1 --dport 23 -j DNAT --to-destination 192.168.2.69:23$IPTABLES -t nat -A SENTRY_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP1 --dport 25 -j DNAT --to-destination 192.168.2.69:25$IPTABLES -t nat -A SENTRY_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP1 --dport 80 -j DNAT --to-destination 192.168.2.69:80$IPTABLES -t nat -A SENTRY_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP1 --dport 110 -j DNAT --to-destination 192.168.2.69:110##-----------------------------------------------------------------------------######################################################################################### Obsidian.net/org INTERNAL DNAT$IPTABLES -t nat -N OBS_DNAT_INT$IPTABLES -t nat -F OBS_DNAT_INT##-----------------------------------------------------------------------------##$IPTABLES -t nat -A OBS_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP2 --dport 20 -j DNAT --to-destination 192.168.2.42:20$IPTABLES -t nat -A OBS_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP2 --dport 21 -j DNAT --to-destination 192.168.2.42:21$IPTABLES -t nat -A OBS_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP2 --dport 22 -j DNAT --to-destination 192.168.2.42:22$IPTABLES -t nat -A OBS_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP2 --dport 23 -j DNAT --to-destination 192.168.2.42:23$IPTABLES -t nat -A OBS_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP2 --dport 25 -j DNAT --to-destination 192.168.2.42:25$IPTABLES -t nat -A OBS_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP2 --dport 80 -j DNAT --to-destination 192.168.2.42:80$IPTABLES -t nat -A OBS_DNAT_INT -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP2 --dport 110 -j DNAT --to-destination 192.168.2.42:110##-----------------------------------------------------------------------------######################################################################################### DMZ_DNAT for Sentry.net$IPTABLES -t nat -N SENTRY_DMZ_DNAT$IPTABLES -t nat -F SENTRY_DMZ_DNAT##-----------------------------------------------------------------------------##$IPTABLES -t nat -A SENTRY_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP1-p tcp --dport 20 -j DNAT --to-destination 192.168.2.69:20$IPTABLES -t nat -A SENTRY_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP1-p tcp --dport 21 -j DNAT --to-destination 192.168.2.69:21$IPTABLES -t nat -A SENTRY_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP1-p tcp --dport 22 -j DNAT --to-destination 192.168.2.69:22$IPTABLES -t nat -A SENTRY_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP1-p tcp --dport 23 -j DNAT --to-destination 192.168.2.69:23$IPTABLES -t nat -A SENTRY_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP1-p tcp --dport 25 -j DNAT --to-destination 192.168.2.69:25$IPTABLES -t nat -A SENTRY_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP1-p tcp --dport 80 -j DNAT --to-destination 192.168.2.69:80$IPTABLES -t nat -A SENTRY_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP1-p tcp --dport 110 -j DNAT --to-destination 192.168.2.69:110##-----------------------------------------------------------------------------######################################################################################### DMZ_DNAT for Obsidian.net$IPTABLES -t nat -N OBS_DMZ_DNAT$IPTABLES -t nat -F OBS_DMZ_DNAT##-----------------------------------------------------------------------------##$IPTABLES -t nat -A OBS_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP2-p tcp --dport 20 -j DNAT --to-destination 192.168.2.42:20$IPTABLES -t nat -A OBS_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP2-p tcp --dport 21 -j DNAT --to-destination 192.168.2.42:21$IPTABLES -t nat -A OBS_DMZ_DNAT -i $DMZ_IF -s 192.168.2.69/32 -d $EXT_IP2-p tcp --dport 22 -j DNAT --to-destination 192.168.2.42:22$IPTABLES -t nat -A OBS_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP2-p tcp --dport 23 -j DNAT --to-destination 192.168.2.42:23$IPTABLES -t nat -A OBS_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP2-p tcp --dport 25 -j DNAT --to-destination 192.168.2.42:25$IPTABLES -t nat -A OBS_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP2-p tcp --dport 80 -j DNAT --to-destination 192.168.2.42:80$IPTABLES -t nat -A OBS_DMZ_DNAT -i $DMZ_IF -s 192.168.2.0/24 -d $EXT_IP2-p tcp --dport 110 -j DNAT --to-destination 192.168.2.42:110##-----------------------------------------------------------------------------######################################################################################### DNAT -- MAIN$IPTABLES -t nat -A PREROUTING -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP1 -j SENTRY_DNAT_INT$IPTABLES -t nat -A PREROUTING -i $INTERNAL -p tcp -s 192.168.1.0/24-d $EXT_IP2 -j OBS_DNAT_INT$IPTABLES -t nat -A PREROUTING -i $EXTERNAL1 -p tcp -s ! 192.168.1.0/24-d $EXT_IP1 -j SENTRY_DNAT$IPTABLES -t nat -A PREROUTING -i $EXTERNAL2 -p tcp -s ! 192.168.1.0/24-d $EXT_IP2 -j OBS_DNAT$IPTABLES -t nat -A PREROUTING -i $DMZ_IF -p tcp -s 192.168.2.42/32-d $EXT_IP1 -j SENTRY_DMZ_DNAT$IPTABLES -t nat -A PREROUTING -i $DMZ_IF -p tcp -s 192.168.2.69/32-d $EXT_IP1 -j SENTRY_DMZ_DNAT$IPTABLES -t nat -A PREROUTING -i $DMZ_IF -p tcp -s 192.168.2.42/32-d $EXT_IP2 -j OBS_DMZ_DNAT$IPTABLES -t nat -A PREROUTING -i $DMZ_IF -p tcp -s 192.168.2.69/32-d $EXT_IP2 -j OBS_DMZ_DNAT###################################################################################### SNAT -- Source Network Address Translation ##$IPTABLES -t nat -A POSTROUTING -s 192.168.1.0/24 -d ! 192.168.0.0/16-o $EXTERNAL1 -j SNAT --to-source 216.162.197.10$IPTABLES -t nat -A POSTROUTING -s 192.168.2.69/32 -d ! 192.168.0.0/16-o $EXTERNAL1 -j SNAT --to-source 216.162.197.10$IPTABLES -t nat -A POSTROUTING -s 192.168.2.42/32 -d ! 192.168.0.0/16-o $EXTERNAL2 -j SNAT --to-source 216.162.197.11##-----------------------------------------------------------------------------#### SNAT DMZ to DMZ connections.$IPTABLES -t nat -A POSTROUTING -s 192.168.2.69/32 -d 192.168.2.69/32-o $DMZ_IF -p tcp -j SNAT --to-source 192.168.2.10$IPTABLES -t nat -A POSTROUTING -s 192.168.2.42/32 -d 192.168.2.42/32-o $DMZ_IF -p tcp -j SNAT --to-source 192.168.2.10$IPTABLES -t nat -A POSTROUTING -s 192.168.2.42/32 -d 192.168.2.69/32-o $DMZ_IF -p tcp -j SNAT --to-source 192.168.2.10$IPTABLES -t nat -A POSTROUTING -s 192.168.2.69/32 -d 192.168.2.42/32-o $DMZ_IF -p tcp -j SNAT --to-source 192.168.2.10##-----------------------------------------------------------------------------#
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-940688/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用iptables實現NAT(轉)
- NAT iptables防火牆(script)(轉)防火牆
- 使用IPtables搭建防火牆的規則(轉)防火牆
- iptables防火牆規則防火牆
- 遮蔽埠 iptables 規則
- iptables常用規則列表
- iptables(三)網路地址轉換NAT
- iptables之NAT埠轉發設定
- iptables詳解及docker的iptables規則Docker
- Debian使用iptables-persistent持久化iptables規則持久化
- iptables深入解析:nat篇
- iptables 常用規則使用例項
- Iptables防火牆規則使用梳理防火牆
- 20條IPTables防火牆規則用法!防火牆
- iptables 預設安全規則指令碼指令碼
- Linux iptables實現nat轉發操作步驟Linux
- 25個常用的Linux iptables規則Linux
- 25 個常用的 Linux iptables 規則Linux
- 詳解網路知識:iptables規則
- 如何用iptables實現NAT(zt)
- Linux IPTables:如何新增防火牆規則Linux防火牆
- Ubuntu系統iptables規則的檢視和清除Ubuntu
- 重新封裝一個iptables防止規則重複封裝
- linux系統中檢視己設定iptables規則Linux
- 資料包如何遊走於 Iptables 規則之間?
- iptables防火牆簡介,原理,規則編寫,常見案例防火牆
- Nginx 跳轉規則Nginx
- 管理規則和基於規則的轉換——流
- JAVA語法規則 (轉)Java
- RedHat 9上用iptables做NAT閘道器+遠端使用kiwisyslog記錄日誌(轉)Redhat
- JS中的"=="轉換規則JS
- make常見規則解析(轉)
- 編碼規則指南(轉貼)
- iptables 入門(轉)
- IPTables配置Script(轉)
- ? 圖解 == 操作符規則和不同型別間轉換規則圖解型別
- Linux NAT轉發Linux
- 使用CRM軟體系統建立的分配規則