基于Linux内核的透明代理配置方案
来源:21IC 作者:—— 时间:2011-11-07 15:50
OK,squid设置结束了,下面我们开始配置iptables
可以用前面所提到的配置工具,但是我没有试过,所以是直接用iptables命令来做的。
可以man iptables来查看帮助
我们把iptables的设置命令存在一个脚本文件中,假设脚本文件名为firewall,然后将此文件存放在/etc/init.d中,并且在启动文件中运行此脚本。以下为操作步骤
1、touch /etc/init.d
2、vi /etc/init.d
加入以下内容:
#!/bin/sh
echo "Enabling IP Forwarding..."
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Starting iptables rules..."
#Refresh all chains
/sbin/iptables -F -t nat
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp
--dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o
ppp0 -j MASQUERADE
对于以上命令的解释如下:
/proc/sys/net/ipv4/ip_forward必须设置为1(默认是0)才可以使用路由功能。
/sbin/iptables -F -t nat将nat table中的所有现存规则清空。
eth0:为Linux机器中的网卡。
3128:为squid中默认的监听端口。
ppp0:为linux中的ADSL设备(在SuSE中为ppp0,在redhat中可能是dsl0)。
MASQUERADE:适用于拨号上网的服务器,因为没有静态IP地址,对于有静态IP的服务器,可以用SNAT --to-source ipadress来替代。
注:以上的命令没有涉及防火墙,请自行参考配置,以上命令也没有删除filter table中的规则,也就是如果以前设置过防火墙,那么不会受到影响。
3、chmod u+x firewall,更改文件属性,使其可以被执行
4、编辑/etc/init.d/boot.local文件,在最后加上/etc/init.d/firewall这一句,确保开机就执行此脚本。
注:SuSE中是boot.local,对于redhat,则需要编辑/etc/rc.d/rc.local文件。
5、运行firewall,规则立刻生效。
到此为止,所有配置结束。
上一篇:硅衬底LED芯片主要制造工艺
- •摩尔斯微电子携手Gateworks,利用Wi-Fi HaLow革新工业连接2025-06-04
- •重磅!中国或禁止政府采购这类芯片和品牌2024-03-25
- •最新PMIC芯片市场竞争格局、供应商及发展趋势2024-03-19
- •出货量翻50多倍!这类芯片涨价20%!村田/ST/微芯/华邦电等最新现货行情 | 周行情137期2024-03-18
- •对标ST!这家国产厂商的该类芯片加速上车2024-03-15
- •马来西亚芯片的崛起2024-03-14
- •这些芯片,将大幅涨价2024-03-11
- •CITE2024开展倒计时 等你来看大模型、芯片、机器人、智能驾驶……2024-03-04
- •裁员潮!这些品类芯片售罄!ST/微芯/华邦等最新现货行情 | 周行情135期2024-03-04
- •装载或超百万辆!这类芯片正在汽车领域加速渗透2024-02-23