使用SNAT、DNAT策略实现网关应用
2012-05-16 00:14
381 查看
使用[/b]SNAT[/b]、[/b]DNAT[/b]策略实现网关应用[/b]
案例环境
Benet公司的网关服务器使用RHEL5系统,其eth0网卡通过光纤接入Internet,eth1网卡连接局域网络。由于只注册了一个公网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.3的Web服务
禁止其他未经明确许可的数据包访问
整理上述规则,编写为防火墙脚本文件
实现步骤
一、正确配置各主机的IP地址、默认网关地址等参数
…………省略
二、在内、外网测试机中均开启Web服务,以便验证效果(外网真实互联网)
[root@localhost ~]# netstat -anptl | grep 80
tcp 0 0 :::80 :::* LISTEN 2630/httpd
三、在网关主机中正确设置SNAT、DNAT策略,,并测试效果
[root@localhost ~]# vim /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1 //开启路由转发
[root@localhost ~]# sysctl –p //重新读取配置
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source 192.168.1.254
[root@localhost ~]# 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,设置为开机自动运行该脚本
[root@localhost ~]# 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
[root@localhost ~]# chmod +x /opt/ipt_net.sh
[root@localhost ~]# echo “/opt/ipt_net.sh” > ~/.bash_profile //设置开机执行脚本
五、重启系统后再次验证结果
1. 内网访问外网
2. 外网访问内网www.benet.com
案例环境
Benet公司的网关服务器使用RHEL5系统,其eth0网卡通过光纤接入Internet,eth1网卡连接局域网络。由于只注册了一个公网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.3的Web服务
禁止其他未经明确许可的数据包访问
整理上述规则,编写为防火墙脚本文件
实现步骤
一、正确配置各主机的IP地址、默认网关地址等参数
…………省略
二、在内、外网测试机中均开启Web服务,以便验证效果(外网真实互联网)
[root@localhost ~]# netstat -anptl | grep 80
tcp 0 0 :::80 :::* LISTEN 2630/httpd
三、在网关主机中正确设置SNAT、DNAT策略,,并测试效果
[root@localhost ~]# vim /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1 //开启路由转发
[root@localhost ~]# sysctl –p //重新读取配置
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source 192.168.1.254
[root@localhost ~]# 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,设置为开机自动运行该脚本
[root@localhost ~]# 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
[root@localhost ~]# chmod +x /opt/ipt_net.sh
[root@localhost ~]# echo “/opt/ipt_net.sh” > ~/.bash_profile //设置开机执行脚本
五、重启系统后再次验证结果
1. 内网访问外网
2. 外网访问内网www.benet.com
相关文章推荐
- 使用SNAT、DNAT策略实现网关应用
- lqc_使用SNAT、DNAT策略实现网关应用
- Linux防火墙基础知识及应用;设置SNAT策略,局域网共享上网;DNAT策略,发布内部服务器
- 使用iptables防火墙实现简单的IP过滤、SNAT及DNAT
- Linux里的防火墙(中):使用iptables实现DNAT和SNAT
- Linux路由应用-使用策略路由实现访问控制
- 2008R2域控环境中 应用组策略 实现禁用USB设备使用
- 【C++ STL应用与实现】7: 如何使用std::forward_list 单链表 (since C++11)
- 机器学习之-使用FP-growth算法来高效发现频繁项集-具体怎么实现及应用
- 如何使用JCA (J2EE 连接器架构)实现企业应用--转载
- 使用策略模式实现加减乘除运算
- Web应用中使用SSL的实现方式
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- 使用腾讯bugly实现应用自动更新提示
- 使用腾讯bugly实现应用自动更新提示
- 深入浅出React之第七章:使用React-Router实现多页面应用
- iptables实现网络防火墙(二)——SNAT与DNAT
- 使用Log4j为项目配置日志输出应用详解以及示例演示的实现分析
- 数据结构的应用——使用栈实现字符串括号匹配检查
- ASP.NET MVC5+MySql使用ASP.NET 身份验证实现用户和角色功能 1 概述 目标:使用MySql数据库,建立一个使用ASP.NET 身份验证的应用,并实现角色功能,身份