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

Linux服务器
apache urlrewrite防盗链功能配置
实战 LAMP 服务器配置 完整篇
tomcat 5.5连接池配置,如何让工程为默认工程
搭建一个大型网站架构的实验环境(Squid缓存服务器篇)
Windows 配置Apache以便在浏览器中运行Python script的CGI模式
Apache 网站速度更快
ubuntu lighttpd+webpy (fastcgi)配置方法
linux 入侵常用命令汇编
Linux 快速定位web路径方法
winxp apache用php建本地虚拟主机的方法
Apache 多站点虚拟主机配置方法
redhat Server release 5.2 安装配置简明教程
Ubuntu Linux系统下轻松架设nginx+php服务器应用
Linux Apache+Proftpd构建虚拟主机时要注意的几个安全问题
Linux 服务器同步 Rsync同步服务器文件
APACHE 多站点配置方法
基于Apache的支持.NET2.0的Web服务器搭建
Ubuntu 下配置Rsync服务的方法
利用rsync自动备份 完全配置方法 增加了ip限制
Linux 每天自动备份mysql数据库的方法

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


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