WEB开发网
开发学院操作系统Linux/Unix 使用SNAT、DNAT策略实现网关应用 阅读

使用SNAT、DNAT策略实现网关应用

 2012-05-16 10:54:08 来源:WEB开发网   
核心提示: 案例环境Benet公司的网关服务器使用RHEL5系统,其eth0网卡通过光纤接入Internet,使用SNAT、DNAT策略实现网关应用,eth1网卡连接局域网络,由于只注册了一个公网IP地址,编写为防火墙脚本文件 实现步骤一、正确配置各主机的IP地址、默认网关地址等参数……&hellip

 案例环境

Benet公司的网关服务器使用RHEL5系统,其eth0网卡通过光纤接入Interneteth1网卡连接局域网络。由于只注册了一个公网IP地址,需要在网关服务器上进行适当配置,使位于局域网内的员工可以通过共享的方式访问Internet。另外,还需要将内网的www.benet.com服务器在Internet上发布,作为公司的电子商务平台

 

拓扑环境


 

需求描述

网关的eth0接口(192.168.1.254/24)连接外网,eth1接口(192.168.10.1/24)连接内网

配置SNAT策略使192.168.10.0/24网段可以访问Internet的所有应用

配置DNAT策略使外网访问http://192.168.1.254/时能够查看到192.168.10.3Web服务

禁止其他未经明确许可的数据包访问

整理上述规则,编写为防火墙脚本文件

 

实现步骤

一、正确配置各主机的IP地址、默认网关地址等参数

…………省略

二、在内、外网测试机中均开启Web服务,以便验证效果(外网真实互联网

[[email protected] ~]# netstat -anptl | grep 80

tcp     0    0 :::80            :::*             LISTEN    2630/httpd     

三、在网关主机中正确设置SNATDNAT策略,,并测试效果

[[email protected] ~]# vim /etc/sysctl.conf

# Controls IP packet forwarding

net.ipv4.ip_forward = 1             //开启路由转发

[[email protected] ~]# sysctl –p          //重新读取配置

[[email protected] ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source 192.168.1.254

[[email protected] ~]# iptables -t nat -A PREROUTING -d 192.168.1.254 -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.3

 

验证效果

四.编写为防火墙脚本文件ipt_nat.sh,设置为开机自动运行该脚本

[[email protected] ~]# vim /opt/ipt_net.sh

#!/bin/bash

#iptables script

#-------------定义变量----------------#

INET_IP="192.168.1.254"

INET_IF="eth0"

LAN_NW="192.168.10.0/24"

LAN_WWW="192.168.10.3"

IPH="/sbin/iptables"

#-------------开启路由转发功能--------#

/sbin/sysctl -w net.ipv4.ip_forward=1 &> /dev/null

/sbin/sysctl -p &> /dev/null

#-------------设置iptables规则--------#

$IPH -X

$IPH -t nat -X

$IPH -t mangle -X

$IPH -t raw -X

$IPH -F

$IPH -t nat -F

$IPH -t mangle -F

$IPH -t raw -F

$IPH -P INPUT DROP

$IPH -P FORWARD DROP

$IPH -P OUTPUT DROP

$IPH -t nat -A POSTROUTING -s $LAN_NW -o $INET_IF -j SNAT --to-source $INET_IP

$IPH -t nat -A PREROUTING -d $INET_IP -i $INET_IF -j DNAT --to-destination $LAN_WWW

$IPH -A FORWARD -s $LAN_NW -j ACCEPT  //允许转发192.168.10.0/24网段

$IPH -A FORWARD -d $LAN_NW -j ACCEPT

$IPH -A INPUT -d $INET_IP -j ACCEPT     //允许网关访问公网

$IPH -A OUTPUT -s$INET_IP -j ACCEPT

[[email protected] ~]# chmod +x /opt/ipt_net.sh

[[email protected] ~]# echo “/opt/ipt_net.sh” > ~/.bash_profile  //设置开机执行脚本

五、重启系统后再次验证结果

1. 内网访问外网

2. 外网访问内网www.benet.com

 

 

Tags:使用 SNAT DNAT

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接