注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

曾国藩的博客

 
 
 

日志

 
 

iptables 配置  

2013-02-26 11:49:39|  分类: 网络/系统架构/版 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
http://luobinazx.blog.163.com/blog/static/1596416820097271253454/
iptables 设置

拓扑图:                                                                                   

            192.168.20.254
*----------*          *--------*          *--------* ↑
|client    |-----------|iptables|----------*internet*
*----------*♂      ♂*--------* ♂      *--------*
  192.168.1.2    192.168.1.1    192.168.20.44

拓扑图说明:
client代表局域网中的工作站,iptables是一台Linux系统的服务器,它需要有两块网卡,一块连内外,

一块上因特网。internet表示因特网,我这里用一台另一网段的机器做实验

任务1:SNAT
任务2: DNAT
任务3:Squid


任务解析:
SNAT:静态网络地址转换,相当于拓扑图中局域网中的client想上网
就必须通过网关192.168.1.1,由192.168.1.1转发给192.168.20.44 最后上到Internet。

DNAT:动态NAT,比如说client所在局域网中有1台网站服务器,它只能通过iptables去上Internet,而

这时侯该网站服务器要想成为
公网上的一台服务器,那么就必须将该服务器的80端口映射到iptables主机的外网IP 192.168.20.44 ,

这样外网通过访问http://192.168.20.44 就等于直接访问到了我局域网中的这台WEB服务器了。

Squid:LINUX下一款有名的缓存代理软件,还是照拓扑来说,Squid的功能就是让局域网中客户机能通过

iptables主机做代理服务器上因特网。这样客户机器只要将网关指向iptables主机,在IE工具INTERNET

选项中设置连接中的代理就可以上网了。如果iptables主机做成透明代理的话则不需要设置INTERNET选

项,只要指定网关就可以上网了。


实验前奏

搭建环境:client网卡自定义网卡类型2
          iptables主机的第一块网卡也为自定义类型2
          iptables主机的另一块网卡为桥接
配置IP:client的IP设置为192.168.1.2网关指向1.1
        iptables主机eth0 IP设置为1.1 eth1设置为20.44

任务1实验步骤(SNAT):

①开启LINUX主机iptables的内核包转发功能,vi /etc/sysctl.conf 将net.ipv4,ip_forward = 0 的0

改为1
:wq 保存退出 然后使用sysctl -p命令重新加载该值。
如果是临时使用的话则可以用echo 1 > /proc/sys/net/ipv4/ip_forward命令使之临时生效。之后就可

以在client上ping 192.168.20.44 看它是否能ping通,如果能ping通则说明刚才的设置正确。

②使用iptables  -t filter -L -n 查看下是否已经有过防火墙的设置,如果有的话,可以使用
iptables -F filter
iptables -F nat 
iptables -F mangle
分别清除这三种防火墙策略列表。
iptables  -t filter -P  INPUT/OUTPUT DROP/ACCEPT
iptables  -t nat  -P    INPUT/OUTPUT DROP/ACCEPT
iptables  -t mangle -P  INPUT/OUTPUT DROP/ACCEPT
分别设置这三种防火墙策略列表默认设置。


③配置一条NAT策略
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 192.168.20.44
(命令解释:-t 选项表示指定要写入到的该规则表名称,-A 为指定要添加的规则在该链的末尾添加规

则,-s 表示数据包的源地址为192.168.1.0/24子网 -j SNAT --to 192.168.20.44 这个表示允许

192.168.1.0/24子网的所有数据包通过192.168.20.44出去)
可以使用iptables -t nat -L -n来查看刚才添加的策略。

④测试,这个时候client就可以访问Internet了,我这里可以用
http://192.168.20.254(WEBmail服务器)如果成功访问则OK。
也可以访问下百度,如果成功则OK。

任务2实验步骤(DNAT):

①将client配置成IIS做个简单的网页。

②设置一条策略,
iptables -t nat -A PREROUTING -p tcp --dprot 80 -j DNAT --to 192.168.1.2

③测试,这个时候用真机,或client这台机器来访问
http://192.168.20.44看到的界面跟在client上访问http://192.168.1.2一样则成功!


任务3实验步骤(普通Squid):

①确认Squid包已经安装 rpm -qa |grep Squid

② cd /etc/Squid

③初始化代理服务器。生成缓存目录,在未生成前ls /var/spool/squid目录下什么都没有的。现在vi

/var/spool/squid/squid.conf 查找 /hostname
在#Default:
  # none 下面添加一行 visible_hostname mylinux(该iptables的主机名) 保存退出。
 
④使用squid -z 创建Swap目录,这里时候在/var/spool/squid/下就产生了许多交换分区的文件夹。

⑤使用netstat -tunl |grep 3128 查看是否开放了3128窗口。

⑥ vi /var/spool/squid/squid.conf 查找 /http_access
在#be allowed 下面两行前面的#注释去掉,并设置它的SRC地址段
比如 acl our_networks src 192.168.1.0/24
    http_access allow our_networks
保存退出。
重启 squid 服务 service squid restart
(为什么要设置这个呢?因为缓存代理默认只允许自己,拒绝所有)

⑦测试,在client机器上只需要设置好IP地址,子网掩码,再在IE中
连接,局域网设置中启用代理服务器。现在就可以在client机器上访问外网的网站了,比如

http://192.168.20.254


任务3实验步骤(透明代理Squid):

①vi /var/spool/squid/squid.conf 查找 /http_accel
找到 #Default:
    #http_accel_port 80
    #http_accel_host  virtual (添加virtual)
将前面的两个#去掉变为:
    #Default:
      http_accel_port 80
      http_accel_host virtual
继续查找 /httpd_accel_with_proxy off 将 前面的#去掉,将off 改为 on  保存退出。

②重启 squid 服务 service squid restart

③添加一条策略:
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p --dprot 80 -j REDIRECT  --to-ports 3128

④测试,在client机器中将TCP/IP中的网关指定为iptables内网IP,将Internet选项中的局域网设置的

代理前面的勾去掉,然后在IE浏览器中输入HTTP://192.168.20.254 或其他Internet地址 如果能访问则

成功!
  评论这张
 
阅读(756)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018