IPtables代理上网

作用:
1  iptables防火墙
2  nat地址转换

iptables -t nat -L   查看nat表
PREROUTING    PREROUTING链用来做透明代理上网
POSTROUTING   POSTROUTING链用来做NAT地址转换
 
临时启用iptables代理上网:
iptables -t nat -A POSTROUTING -s 202.106.20.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
添加一个POSTROUTING链 -s 跟一个要上网的网段(源地址) -j MASQUERADE IP 地址伪装
 
echo "1" > /proc/sys/net/ipv4/ip_forward
注:当ip_forward值为“1”时它就具有转发的功能

永久用iptables代理上网:
cd /bin
touch daili
chmod a+x daili
vi daili

#!/bin/bash
adsl-stop
adsl-start
route add default ppp0
                       注:猫拨号的话得写以上面三句,专线则不要
iptables -t nat -F
iptables -t filter -F
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 202.106.20.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

开机自动启动:
vi /etc/rc.local
touch /var/lock/subsys/local 下加:
/bin/daili
客户机:把网关指向服务器内网IP
 

squid代理上网    缓存代理

端口:3128

vi /etc/squid/squid.conf

http_port 3128   放开
cache-mem 8 MB   用多大内存做缓存代理
cache_dir ufs /var/spool/squid 100 16 256 缓存代理存放位置 (用户浏览过的网页缓存到哪?)
在acl all src 0.0.0.0/0.0.0.0下加:
acl lan1 src 202.106.20.0/24
acl lan2 src 192.168.0.0/24 允许哪些网段上网
http_access allow localhost lan1 lan2
注:lan1、lan2是任意启的名称。
在任意位置加一句:
visible_hostname    linux的计算机名
squid -Z 创建缓存目录
service squid start

注:客户端修改浏览器
局域网设置---代理IP ---3128端口