iptables脚本(squid_proxy_firewall) 防火墙- 服务器安全与架构设计 ...
UID
1
帖子
4756
精华
42
积分
561
阅读权限
200
来自
中国PHP联盟
在线时间
569 小时
注册时间
2007-12-10
{zh1}登录
2010-5-20
iptables脚本(squid_proxy_firewall) 防火墙
squid+iptables 做透明代理
=============================================================================================
内网设备:eth0 外网设备:eth1
=============================================================================================
设置防火墙规则
squid进程启动后,监听客户端http请求的端口是3128,而客户发起的http请求的端口是80,因此,需要利用
端口生定向将所有对80端口的请求,重定向到3128端口。如不考虑安全,对于squid代理服务器,只需要远行以下
两条规则即可。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
=============下面在/etc/rc.d/init.d/目录中写代理的防火墙脚本 squid_proxy_firewall==============
#!/bin/sh
exho "Starting squid proxy iptables rules..."
#开启IP包转发功能
echo 1 > /proc/sys/net/ipv4/ip_forware
#开启动态IP支持
echo 1 > /proc/sys/net/ipv4/ip dynaddr
#关闭 Explicit Congestion Notification
echo 0 > /proc/sys/net/ipv4/tcp_ecn
#开启syn泛洪攻击保护(syn cook flood)
#syn攻击利用tcp协议缺陷,发送大量伪造的tcp连接请求,使被攻击方资源耗尽,导致拒绝服务
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#装载内核支持模块
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_state
/sbin/modprobe ipt_multiport
#xx链的规则
/sbin/iptables -F
/sbin/iptables -t nat -F
#xx封包计数器
/sbin/iptables -Z
/sbin/iptables -t nat -Z
#设置默认策略
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP
#允许本地连接
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
#禁止对135,137,138,139,445端口连接
/sbin/iptables -A FORWARD -p tcp -m multiport --dport 135,137,138,139,445 -j DROP
#允许squid进程向外发起对80端口代理的请求
/sbin/iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
#允许接收squid进程对外请求的回应包
/sbin/iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
#允许dns查询
/sbin/iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
#允许ping代理
/sbin/iptables -A INPUT -p icmp --icmp-type echo-request m limit --limit l/s --limit-burst 10 -j
ACCEPT
/sbin/iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
#允许转发对已经建立的连接的回应,允许建立在连接基础上的新连接,如ftp-date
/sbin/iptables -A FORWARD -i eth1 -m sate --sate ESTABLISHED,RELATED -j ACCEPT
#允许转发由内向外的新连接
/sbin/iptables -A FORWARD -p tcp -i eth0 --syn -j ACCEPT
/sbin/iptables -A FORWARD -m state --state NEW -i eth0 -j ACCEPT
#允许ping开关(“1”禁止ping,“0”允许ping)
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
sysctl -w net.ipv4.icmp_echo_ignore_all=1
#将对80端口的请求重定向到代理监听的3128端口
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
#对非80端口的请求,利用IP伪装方式代理访问internet
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
============以下是除去注释行整理出的==============
#!/bin/sh
echo "Starting squid proxy iptables rules..."
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
echo 0 > /proc/sys/net/ipv4/tcp_ecn
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
sysctl -w net.ipv4.icmp_echo_ignore_all=1
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_state
/sbin/modprobe ipt_multiport
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -Z
/sbin/iptables -t nat -Z
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -m multiport --dport 135,137,138,139,445 -j DROP
/sbin/iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 10 -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -i eth0 --syn -j ACCEPT
/sbin/iptables -A FORWARD -m state --state NEW -i eth0 -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
########################映射电影服务器端口#################################
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 -d 外网IP --dport 80 -j DNAT --to-destination 192.168.1.251:80
/sbin/iptables -t nat -A POSTROUTING -p tcp -o eth0 -s 192.168.1.251 --sport 80 -j SNAT --to-source 外网IP:80
为了您的安全,请只打开来源可靠的网址
打开网站 取消
来自:
郑重声明:资讯 【iptables脚本(squid_proxy_firewall) 防火墙- 服务器安全与架构设计 ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【
在线投诉
】,我们审核后将会尽快处理。
——
相关资讯
——
顺德热处理解析真空热处理中的真空系统
2021/7/9
矿用本质安全性跑偏开关GEJ30价格
2017/6/10
滕州市人力资源和社会保障局电话号码多少?
2015/9/21
2024厦门医疗器械展|2024厦门国际医疗器械展览会
2024/4/22
xx精油有用吗
2015/3/9
GLP防水型磷浓度测定仪(意大利) 型号:HI96706/96717 阿里巴巴 ...
2010/1/18
白羊. - わ尜羊、sama的日志- 网易博客
2010/4/26
xx运动能xx阴吹吗﹎
2015/3/21
马油可以去除妊辰纹吗
2015/3/24
沧州银浆上门回收
2015/6/27
江苏宏泰不锈钢丝绳汽车摩托车用304316不锈钢钢丝绳代理,哪儿能买到优质的宏泰不锈钢丝绳呢
1900/1/1
(貂预混料)(貂预混料厂家)(貂预混料价格)金龙饲料
2016/6/21