Linux系列-RedHat5平台下的Iptables防火墙应用(二)

上次咱们已经对iptables做了一个了解,并且后面也举了很多常用的例子。也许大家觉得很难,特别是那四张表和五个链。其实真正用的时侯没哪么复杂,等一下你们看完下面两个应用就会觉得确实不难。
每个人学技术的目的都是为客户解决问题,给客户拿出一套解决方案来。这样才算是做的有用功。Iptables有很多功能,咱们不用好高骛远。学两招真正用的上技术是比较现实的。说这番话的目的是为了缓解大家面对iptables的压力。
NAT就不用说了吧,相信大家也不会陌生。不管哪个企业哪个机构都会用到它,想上网除了走代理就是走NAT,所以咱们必须要把这个技术吃透。不但要掌握在路由、windows上的配置还要掌握在Linux系统上的配置。下面来看一下SNATDNAT的应用。
拓扑图如下:
 
现在大家看到拓扑了,我们的目的是让内网用户安全的上网,另外就是把内网中的一台主机名为www.zpp.comweb服务器发布出去。这些应用只要是个公司肯定都会有的,前面虽然已给出了用CISCO路由、windowsISA等设备的解决方案,但就性能和成本来说用Linux肯定是最划算的,现在大部分网吧、小型企业都用的是iptables.
这里为了大家阅读方便我简单罗列一下拓扑上的信息:
1>.网关服务器iptables有两块网卡,TCP/IP参数如下:
Eth0LAN接口)IP192.168.1.1/24
Eth1WAN接口)IP61.134.1.4/24
2>.内网Web服务器的IP为:192.168.1.10/24网关:192.168.1.1 主机名:www.zpp.com
还是一样分两部分来说,先让内网中的用户上了网再说。然后再让Internet用户访问咱们的Web服务器。
第一部分:利用SNAT技术使内网用户安全上网。
SNATSource Network Address Translation)源网络地址转换,咱们用这个技术既可以化解四版本的地址危机,又可以起到隐藏局域网信息的功能。下面来看看如何使用SNAT技术使用内网用户安全上网。
1. 
2.1>./etc目录下找到文件sysctl.conf将文件中的net.ipv4.ip_forward = 0,改为net.ipv4.ip_forward = 1.如图:
 
2>.执行命令sysctl –p使咱们的修改生效。如图:
 
3.我这儿内网是192.168.1.0/24网段,所以源地址是192.168.1.0/24.
 
这时大家可能会问,如果我用的是ADSL拨号上网IP地址不是固定的而是动态的,如何设置这个策略?此时我们可以使用MASQUERADE(伪装)策略。MASQUERADE是一种特殊的SNAT技术,它照样可完成修改(伪装)数据包源IP地址的工作,只不过它会自动获取外网接口的IP地址。下面是MASQUERADE策略的用法:
 
说明:使用iptables命令设置MASQUERADE策略时,只需要去掉SNAT策略中的“—to-source IP地址”,改为“-j MASQUERADE”指定数据包处理方式即可。ADSL通常使用PPPoE技术,在Linux系统中,对应的连接名称为ppp0ppp1等,如果没不确定编号可以用ppp+代替。
现在来测试一下:
在内网的客户机上使用命令nslookup,可以成功解析出外网google网站的IP说明DNS请求可以通过SNAT正常进行。如图:
 
从下图可以看到我们利用SNAT我们可以成功的访问外部站。
 
第二部分:利用DNAT技术将位于咱们局域网内部的web服务器发布出去
DNATDestination Network Address Translation)目标网络地址转换。和SNAT刚好相反,DNAT更灵活一点它可以用在nat表的PREROUTING链和OUTPUT链或被它调用的链。咱们用DNAT技术可以将内网或DMZ区中的服务器发布出去,
只需要一部搞定如下。在网关服务器上添加DNAT映射,将外网用户访问网关主机公网IP(地址为:61.134.1.480端口的数据包更改为网站主机的IP(地址为:192.168.1.2).如图:
 
现在我们到外网主机上去测试一下,可以看到可以成功访问内网的web主机。
 
(注:我这里开了一台启动了httpd服务的Linux主机用于模拟内网web主机www.zpp.com
通过命令nslookup可以测试出,主机www.zpp.com所对应的IP是网关服务器的外网口地址。
 
OK!现在我们iptables中的两个关键技术——SNATDNAT解决了两个关键的问题——用户安全上网的问题和发布内网服务器的问题。大家也可以发现虽然是关键的东西,但做起来并不难,几乎都只是一条命令搞定。这也正顺应了一句话——Linux是一种高起点低应用的技术,往往我们再学的时侯感觉很困难,但真真用的时侯就不哪样认为了。
本文出自 “zpp” 博客,请务必保留此出处http://zpp2009.blog.51cto.com/730423/285194
更多相关文章
  • 上次咱们已经对iptables做了一个了解,并且后面也举了很多常用的例子.也许大家觉得很难,特别是那四张表和五个链.其实真正用的时侯没哪么复杂,等一下你们看完下面两个应用就会觉得确实不难.每个人学技术的目的都是为客户解决问题,给客户拿出一套解决方案来.这样才算是做的有用功.Iptables有很多功能 ...
  • 上次咱们已经对iptables做了一个了解,并且后面也举了很多常用的例子.也许大家觉得很难,特别是那四张表和五个链.其实真正用的时侯没哪么复杂,等一下你们看完下面两个应用就会觉得确实不难.每个人学技术的目的都是为客户解决问题,给客户拿出一套解决方案来.这样才算是做的有用功.Iptables有很多功能 ...
  • 并不是一个简单的东西,这段时间一直在想怎么才能把自己已常握的iptables分享给大家,如果像前面一样.上来就是一张拓扑图,再呼呼啦啦一条条策略,我想那样肯定是没有什么效果的.一条条策略如果没有强大的理论做支撑,是站不住脚的.正在苦恼之际.突然看到了自己以前学习iptables时的记的笔记.觉得记得 ...
  • Iptables2.Nat(1.INPUT4.PREROUTING5.POSTROUTINGRawIptables [-t 说明:表名.链名用于指定iptables)给其它链处理.-A -R-N-n-hDROP Iptables导入(还原)2.3.4.[[email protected] ~]# iptable ...
  • 前面几次我们已经看到了Red Hat5平台下的DHCP.FTP以及Samba服务的搭建,对服务器主机进行访问时也是使用IP地址的形式,而在实际的网络应用中,通常是使用域名的形式访问服务器的.本次将以著名的DNS服务器软件BIND(Berkeley Internet Name Daemon)为例,向大 ...
  • 构建Postfix电子邮件系统上次咱们说了Sendmail.今天来看一下PostfixMail.Postfix最大的好处在于它采用了模块化的设计,有多个不同的程序集合而成,分别用于实现不同的功能.还有就是可以结合mysql数据库使用虚拟邮件用户.现在就来看看如何构建Postfix电子邮件系统.前面概 ...
  • 1.依次安装程序包.中文语言包2.创建调整数据目录和邮件附件目录3.建立config.php配置文件//////////////////4.好上来了,我们可以看到登录进来的界面还不错,如图: 好了!里面的功能咱们就不看了,很简单.接下来我们来看一下如何实现邮件群发吧!第二部分:设置用户别名和邮件群组 ...
  • Sendmail安装////////Sendmail的控制启动Sendmail主要配置文件sendmail[[email protected] ~]# ls /etc/mailaccesshelpfileMakefilesubmit.cfvirtusertableaccess.dblocal-host-namess ...
一周排行
  • 果然还有下篇,说说不危险和危险职业的基本定义,与以前的维度有点不同的. 核心与非核心职业 实际上软件企业中间有一根中轴线,是每个企业的核心. 在产品研发型企业中,大致是:市场-销售-产品-项目(部门/项目,开发/测试 ...
  • WP掌上课表更新校历时将抓取此页面中两个特殊字符串之间的文字内容,并替换\n为换行,html转义字符为原字符. wpzskbxl-start[中原工学院2015至2016学年第一学期校历\n一.本学期教学周共19周. ...
  • 截止到目前为止,新浪微博用户已突破5亿,要知道,欧洲总人口不过才七亿多,照目前互联网在中国的普及蔓延趋势,用户超过七亿已在目下.人多力量大,但人多未必会对新浪是个好事情.微博的运营维护需要强大的资金做后盾.纵然新浪微 ...
  • 本文是zhyfly兄贴在LinuxSir.Org 的一个帖子而整理出来的,如果您对版权有疑问,请在本帖后面跟帖.谢谢:本文的HTML版本由北南南北整理:修改了整篇文档的全角及说明文字中的单词中每个字母空格的问题:为标 ...
  • 1. MySQL架构C/S: client / server架构 MySQL DBMS(Data Bank Management System): 数据库管理系统客户端 <---> 服务器 ---> ...
  • 首先感谢这位几仁兄的几篇博客: http://hi.baidu.com/fairysky/blog/item/130dda13db7b050a5aaf53be.html http://hi.baidu.com/fai ...
  • =================================================================下载地址:1.http://1.cnc.s10.115.com:8080/pickdo ...
  • 环境:CentOS 6.5 64bit在一台客户端机上执行mount命令挂载nfs,结果报如下错误:mount: wrong fs type, bad option, bad superblock on 192.16 ...
  • 2014美国IT行业薪资水平
    今天读了份2014美国IT行业薪水报告,惊奇的发现原来美国IT职位间的收入水平差别不是太大 ...
  • 项目计划及成员分配 在这次团队合作项目开发练习上,我们团队决定采用敏捷开发流程,开发出一款基于互联网短地址压缩的信息分享交流平台. 这个项目已经由完成了基本功能,所以我们想借着此次软件工程团队练习的机会,团队多人合作 ...