您的位置:首页 > 运维架构 > Linux

Linux系统下设置代理/防火墙

2008-03-12 20:15 204 查看
[align=center] [/align]
实验一:搭建SNAT
1.实验目的:
把私有地址转换成公有地址,能够通过公有地址上网
2.实验环境:
①一台Linux系统服务器,必须有2块网卡:
一块连内网(网卡名:eth1;IP地址:100.100.100.150;网关:192.168.0.26)
一块连外网 (网卡名:eth0;IP地址:192.168.0.26;网关:192.168.0.1)
②一台Windows系统客户机:
网卡的IP地址必须和eth1的地址是一个段的,假设:100.100.100.100;
网关指向eth1的地址:100.100.100.150;
DNS指向能上网的那台服务器:192.168.0.1
3.实验步骤:
①# echo 1 > /proc/sys/net/ipv4/ip_forward 启用路由
②# iptables –t nat –A POSTROUTING –s 100.100.100.0/24 –o eth0 –j SNAT –to 192.168.0.26 把内部地址转换成公有地址出去
③Windows客户机网关指向100.100.100.150;DNS指向能上网的那台服务器:192.168.0.1

实验二:搭建DNAT
1. 实验目的:
外网可以访问内网的WEB 服务器
2. 实验环境:
一台linux系统服务器,一台内部的www服务器,一台外网的client,要让client用http方式访问内部的www服务器.
DNAT原理:将外网input的包头的目标ip和目标port的组合映射到内网的一台机子的ip
3. 实验步骤:
①配置linux
保证mac不冲,网络参数已经配好,路由功能也已启动,可以直接利用iptables工具添家相应规则,配置如下
iptables -t nat -A PREROUTING -p tcp -d 192.168.0.26 --dport 80 -j DNAT --to 100.100.100.150:80
-A RREPOUTING和-j DNAT是一对用来实现公有ip和port的组合与私有ip的映射
-p protocol 待检查包的协议,缺省为all全部协议
这条命令的效果是发给linux的eth1的80port的包都会经由linux发向100.100.100.150的80port
命令加上-i eth1效果是一样的
②配置www服务器,可以用linux,也可以用windows
这里过程省略,结果DocumentRoot=/www 在DocumentIndex字段把dandan.html添加到最前面,然后建立了/www/dandan.html网页
它的网络参数如下
ipaddr=100.100.100.100
netmask=255.255.255.0
gateway=100.100.100.150
dns=202.96.209.5
4. 用client验证,看会不会返回相应的网页.

实验三:搭建基本代理服务器
1.实验目的:
局域网内部的机器,通过代理服务器可以上网
2.实验环境:
①一台Linux系统服务器,必须有2块网卡:
一块连内网(网卡名:eth1;IP地址:100.100.100.150;网关:192.168.0.26)
一块连外网 (网卡名:eth0,IP地址:192.168.0.26;网关:192.168.0.1)
②一台Windows系统客户机:
网卡的IP地址必须和eth1的地址是一个段的,假设:100.100.100.100;
网关和DNS不需要配置,让它为空
3.实验步骤:
①# vi /etc/squid/squid.conf
⑴http_port 100.100.100.150:3128 54行,打开监听端口(IP地址为连接内网网卡地址)
⑵cache_dir ufs /var/spool/squid 100 16 256 668行,直接把前面的“#“去掉,使用固定的物理内存
⑶cache_mem 30MB 469行,把前面的“#“去掉,访问控制
⑷http_access allow all :允许所有连接
http_access deny all: 关闭所有连接
在1745行,缺省情况是关闭所有连接,若想要打开一些服务,必须在上面一行把all改成一些需要打开的服务名称。配置文件里,位置越向上,优先级越高
②# service squid start 启动squid服务
③Windows客户机:首先IP地址和eth1的地址是一个段的;然后是:工具---Interent选项---连接---局域网设置---代理服务器---地址为100.100.100.150:3128

实验四:搭建透明代理服务器
1.实验目的:
局域网内部的机器只需配置网关、DNS,通过代理服务器可以上网
2.实验环境:
①一台Linux系统服务器,必须有2块网卡:
一块连内网(网卡名:eth1;IP地址:100.100.100.150;网关:192.168.0.26)
一块连外网 (网卡名:eth0,IP地址:192.168.0.26;网关:192.168.0.1)
②一台Windows系统客户机:
网卡的IP地址必须和eth1的地址是一个段的,假设:100.100.100.100;
网关指向eth1的地址:100.100.100.150;
DNS指向电信服务器:202.109.14.5
3.实验步骤:
①# vi /etc/squid/squid.conf 把以下4条记录加在配置文件的末尾
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
②# service squid reload 重新加载服务
③# echo 1 > /proc/sys/net/ipv4/ip_forward 启用路由
④# iptables –t nat –A POSTROUTING –s 100.100.100.0/24 –o eth0 –j SNAT -- to 192.168.0.26 把内部地址转换成公有地址出去
⑤# iptables –t nat –A PREROUTING –i eth1 –p tcp -- dport 80 –j REDIRECT –-to- port 3128 把SNAT和代理结合在一起
⑥Windows客户机:网关指向eth1的地址:100.100.100.150;
DNS指向电信服务器:202.109.14.5

实验五:配置访问控制
1. 实验目的:
客户端通过代理服务器,控制在每周一至周五的11:30~13:30可以上网
2. 实验环境:(按实验四当前的情况继续做)
①一台Linux系统服务器,必须有2块网卡:
一块连内网(网卡名:eth1;IP地址:100.100.100.150;网关:192.168.0.26)
一块连外网 (网卡名:eth0,IP地址:192.168.0.26;网关:192.168.0.1)
②一台Windows系统客户机:
网卡的IP地址必须和eth1的地址是一个段的,假设:100.100.100.100;
网关指向eth1的地址:100.100.100.150;
DNS指向电信服务器:202.109.14.5
3. 实验步骤:
# vi /etc/squid/squid.conf
在1745行里添加以下字段
acl time1 time MTWHF 11:30~13:30
http_access allow time1
http_access deny all
4. 验证:客户端只能在指定的时间内上网,其它时间一概上不了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息