欢迎光临
我们一直在努力

创建iptables NAT规则-网管专栏,防火墙和路由

建站超值云服务器,限时71元/月

#!/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
##—————————————————————————–##

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 创建iptables NAT规则-网管专栏,防火墙和路由
分享到: 更多 (0)