之前客户的局域网络用的代理服务软件是ISA2004,系统环境是Windows2003 EE,但是随着终端用户的逐步增多,而且现用的服务器DELL1950配置实在太低,系统运行一段时间就会报虚拟内存过低,不知道什么时间就停机了,而且他们的系统和ISA是D版的(不过话说回来ISA真的是一个非常棒的软件,功能非常的强悍),客户公司短期内没有升级这台服务器的预算,其实这台服务器如果运行linux的话还是非常不错的,所以在与客户的网络管理员分析过后决定用Squid
网络环境:域环境局域网络,多网络权限
有部分终端用户只能发邮件(邮件服务器是Exchange,邮件端口TCP 443),有的部门只能在工作时间上网,其它的服务器都不能与外网联连,但是所有的终端保括服务器都能update病毒库,不过update时间不同,终端用户不能使用任何即时通信工具(QQ……太难封了)。
硬件环境: DELL PowerEdge 1950 E5410
CPU:Quad-Core Xeon Pro E5410
MEM:1GB (2x512MB), 667MHz, ERROR
DISK:73GB, 2.5'', 10Krpm, SAS Hard Drive, Hotplug
系统环境:CentOS6.2_x64(minimal)+Squid
相关问题:这个客户的接外网出口并不是直接接到公网,而是总公司主交换上的网络接口,所以客户内部网络的代理地址要设置为总公司局域网络的代理服务器地址,所以客户的这个代理只能做为一个透明网关,而且要有对IP地址管理
第一步:配置网卡
编辑第一块网卡,也就是接外网的
vim /etc/sysconfog/network-scripts/ifcfg-p4p1
加入
DEVICE="p4p1"
NM_CONTROLLED="yes"
ONBOOT=yes
HWADDR=00:23:AE:5C:B0:E7
TYPE=Ethernet
BOOTPROTO=none
IPADDR=10.8.83.28 #外网IP地址
PREFIX=24 #子网掩码
GATEWAY=10.8.83.254 #网关
DNS1=202.106.0.20 #DNS1
DNS2=202.106.195.68 #DNS2
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System p4p1"
UUID=5dd47203-fffb-671a-4fd0-4cff98347a3b
编辑第二块网卡,接内部网络的
vim /etc/sysconfog/network-scripts/ifcfg-eth0
加入
DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=yes
HWADDR=00:14:78:31:ED:D2
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.88.254 #内网IP
PREFIX=24 #子网掩码
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
接内部网络的不用配置网关和DNS,只用IP和子网掩码就可以了
第二步:配置iptables
1、启动路由
echo "1">/proc/sys/net/ipv4/ip_forward
#打开“转发”功能。让数据包可以在不同的网卡间“流动”。
因为每次系统启动时初始化脚本/etc/rc.d/rc.sysinit会读取/etc/sysctl.conf文件的内容,该文件默认值0是禁止ip转发,修改为1即开启ip转发功能,修改过后就马上生效,即内核已经打开ip转发功能。但如果系统重启后则又恢复为默认值0,如果想永久打开需要通过修改/etc/sysctl.conf文件的内容来实现,默认sysctl.conf文件中有一个变量是net.ipv4.ip_forward = 0,将后面值改为1,然后保存文件,只是修改sysctl文件不会马上生效,如果想使修改马上生效可以执行下面的命令: sysctl –p
vim /etc/sysctl.conf
将net.ipv4.ip_forward = 0改为 net.ipv4.ip_forward = 1
2、清空Iptables所有表中规则并查看nat表
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -t nat –L
3、添加iptables的访问规则-NAT
iptables -t nat -A POSTROUTING -s 192.168.88.0/24 -j SNAT --to-source 10.8.83.28
#内部网络的192.168.88.0/24的ip地址段通过SNAT转成10.8.83.28与外网联络
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
#在NAT表的PREROUTING链加目标动作REDIRECT,将入站的数据包进行重定向,将80号端口重定向成8080
service iptables save
系统提示:
iptables:将防火墙规则保存到 /etc/sysconfig/iptables: [确定]
iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 8080
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- localhost/24 anywhere to:10.8.83.28
Chain OUTPUT (policy ACCEPT)
target prot opt source destination