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

 
实验一:搭建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 �Ct nat �CA  POSTROUTING �Cs 100.100.100.0/24 �Co eth0 �Cj SNAT �Cto 192.168.0.26     把内部地址转换成公有地址出去
Windows 客户机网关指向 100.100.100.150 DNS 指向能上网的那台服务器: 192.168.0.1
 
 
实验二:搭建DNAT
1.     实验目的:
外网可以访问内网的 WEB 服务器
2.     实验环境:
一台 linux系统服务器,一台内部的 www服务器,一台外网的 client,要让 clienthttp方式访问内部的 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是一对用来实现公有 ipport的组合与私有 ip的映射
-p protocol 待检查包的协议,缺省为 all全部协议
这条命令的效果是发给 linuxeth180port的包都会经由 linux发向 100.100.100.15080port
命令加上 -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 �Ct nat �CA  POSTROUTING �Cs 100.100.100.0/24 �Co eth0 �Cj SNAT -- to 192.168.0.26      把内部地址转换成公有地址出去
# iptables �Ct nat �CA PREROUTING �Ci eth1 �Cp tcp -- dport 80 �Cj REDIRECT �C-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.  验证:客户端只能在指定的时间内上网,其它时间一概上不了
 

本文出自 “技术论坛” 博客,谢绝转载!

你可能感兴趣的:(linux,代理,防火墙,系统,设置)