当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 基于中软Linux实现代理服务器与防火墙(1)

Linux服务器
中小企业服务器配置-邮件服务器(1)
中小企业服务器配置-邮件服务器(2)
典型WEB服务器Apache高级设置指南
从HTTP服务器状态代码分析
基于反向代理的Web缓存加速现代理服务器
在ApacheHTTPD服务器中使用DSO完全分析
组网不求人!搭建简易Linux局网服务器
基于NUMA架构的高性能服务器技术(1)
基于NUMA架构的高性能服务器技术(2)
复制另一台Linux服务器及相关问题
Linux服务器之间怎么样SSH不需密码
Rsync在服务器间镜像或者备份目录
服务器诊所:鲜为人知但很有用的观念
服务器诊所:并不是仅仅就是线程化而已
服务器诊所:PDF自动生成专业质量输出
用低代价的服务器过程将文档处理自动化
设置一个企业级的LinuxPOP3服务器
WEB服务器Apache编译指南及高级技巧
给Qmail邮件服务器加个病毒防火墙
LinuxCVS服务器与WinCVS的配置与使用

Linux服务器 中的 基于中软Linux实现代理服务器与防火墙(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 82 ::
收藏到网摘: n/a


作者:李宇

 #!/bin/bash
 #proxyandfirwall
 #定义变量
 EXT_IFACE=eth0
 EXT_ADDR=192.9.100.8
 INT_IFACE=eth1
 INT_ADDR=192.168.0.0/24
 Manager_Addr=192.168.0.3/32

 #初始化设置
 serviceiptablesstop
 iptables-F
 iptables-tnat-F
 iptables-X
 iptables-tnat-X
 iptables-Z
 iptables-tnat-Z

 iptables-PINPUTDROP
 iptables-POUTPUTDROP
 iptables-PFORWARDDROP
 iptables-tnat-PPOSTROUTINGDROP

 #启动模块
 cd/lib/modules/2.4.3-3/kernel/net/ipv4/netfilter
 modprobeip_conntrack_ftp
 modprobeip_nat_ftp
 cd/

 #设置核心参数

 ##避免pingofdeath攻击
 echo1>/proc/sys/net/ipv4/icmp_echo_ignore_all
 ##禁止广播回应(可选)
 #echo1>/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
##防止源路由攻击
echo0>/proc/sys/net/ipv4/conf/all/accept_source_route
##不接受重定向的icmp数据包
#echo0>/proc/sys/net/ipv4/conf/all/accept_redirects
##防止IP欺骗
forinterfacein/proc/sys/net/ipv4/conf/*/rp_filter;do
/bin/echo1>${interface}
done
##禁止IP转发(在配置防火墙时,建议用户先关闭数据包的转发功能)
echo0>/proc/sys/net/ipv4/ip_forward
#IP伪装
iptables-tnat-APOSTROUTING-s$INT_ADDR-o$EXT_IFACE-jMASQUERADE
#定义forward链规则
iptables-AFORWARD-mstate--stateINVALID-jDROP
iptables-AFORWARD-i$INT_IFACE-o$EXT_IFACE-s$INT_ADDR-mstate--state
RELATED,NEW,ESTABLISHED-jACCEPT
#iptables-AFORWARD-i$INT_IFACE-s192.168.0.3/32-mmac--mac-source
00:D0:59:08:5f:23-o$EXT_IFACE-jACCEPT(可以使用该方法实现IP地址与物理地址的捆绑)
iptables-AFORWARD-i$EXT_IFACE-o$INT_IFACE-d$INT_ADDR-mstate--state
RELATED,ESTABLISHED-jACCEPT
#对包碎片的限制(会影响代理服务器的性能)
#iptables-AFORWARD-f-mlimit--limit100/s--limit-burst100-jACCEPT
#对外部访问该防火墙作的限制
iptables-AINPUT-i$EXT_IFACE-mstate--stateESTABLISHED,RELATED-jACCEPT
iptables-AINPUT-i$EXT_IFACE-ptcp!--syn-jACCEPT
#对内部用户访问防火墙的限制
iptables-AINPUT-i$INT_IFACE-picmp-jDROP#(可以对其他协议做限制)
#...........
#允许管理员对防火墙的操作
iptables-AINPUT-s$Manager_Addr-i$INT_IFACE-ptcp--dport3000-jACCEPT
iptables-AINPUT-s$Manager_Addr-i$INT_IFACE-ptcp--dport22-jACCEPT
iptables-AOUTPUT-d$Manager_Addr-o$INT_IFACE-mstate--stateESTABLISHED
-jACCEPT
#允许发送的数据包(fromgateway)
iptables-AOUTPUT-o$EXT_IFACE-jACCEPT

#允许IP数据包转发
echo1>/proc/sys/net/ipv4/ip_forward