透明代理squid配置
编辑squid.conf(在配置文件的最后添加如下命令)
http_port 10.1.1.3:8080 transparent
cache_mem 80 MB
cache_dir ufs /var/spool/squid 4096 16 256
http_access allow all
开启端口转发功能
#iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
开启NAT功能
#iptables -t nat -A POSTROUTING -s 10.1.1.0/16 -o eth0 -j SNAT --to 192.1.1.3
保存防火墙规则
#service iptables save
开启防火墙服务
#service iptables start
编辑/etc/sysctl.conf
把net.ipv4.ip_forward = 0 改为 1
刷新策略
sysctl -p
系统调优
echo "1024 63000" > /proc/sys/net/ipv4/ip_local_port_range
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" >/proc/sys/net/ipv4/conf/all/log_martians
echo "1" >/proc/sys/net/ipv4/tcp_syncookies
echo "2" >/proc/sys/net/ipv4/tcp_synack_retries
echo "2048" >/proc/sys/net/ipv4/tcp_max_syn_backlog
echo "3" >/proc/sys/net/ipv4/tcp_syn_retries
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout
echo "1800" > /proc/sys/net/ipv4/tcp_keepalive_time
路由转发
echo "1" > /proc/sys/net/ipv4/ip_forward
启动命令集合
vi /etc/rc.local
添加
echo "1" > /proc/sys/net/ipv4/ip_forward
配置客户端
指定网关地址
测试
若,ping不通dns,能ping通网关,说明路由没有转发;
若,ping的通dns,和网关,但不能上网,需要重启squid,并清空路由表
--------------------------------------------------------------------
本人亲测,这个最直接最简单的搭建,希望大家多提意见!
本文出自 “mysky” 博客,转载请与作者联系!