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

Linux服务器
手把手安装FreeBSD5.4服务器操作系统
SAMBA服务器配置实例分析
在FreeBSD5.0上配置DNS服务手记
在FreeBSD6.0中设定FTP服务器
Linux网络环境使用新闻组客户端
Linux配置安装Domino服务器
Linux下安全高效Web邮件服务器
Linux与Windows共享建最简Samba
Linux下TCP网络服务器实现源代码
打造基于Linux的VPN服务器
linux服务器-架设安全的CVS服务器
在LINUX系统上建立FTP加密传输
ApacheWeb服务器的完全安装指南
linux服务器-FreeNAS服务器初探
centos配置apache、php、jdk、resin
VSFTPD服务器安装配置
应用程序跟踪对性能改变进行量化分析
构筑LAMP框架之apache
Apache和Subversion搭建安全CVS
Linux架设支持Mysql的动态Web服务器

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 60 ::
收藏到网摘: 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