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

Linux服务器
Solaris基本审计和报告工具使用攻略
优化Linux服务器硬盘性能的七个实用技巧
解决Linux服务器下误删除文件的操作
Linux操作系统下SOFTETHER服务器使用方法
使用SMC实现Solaris10服务器角色管理(下)
Linux环境架设Samba服务器 实现网络互访
Linux下安装RPM和TAR管理软件包的方法
如何建立一个安全的 Linux服务器
在Linux上实现DB2双机HA完整方案
教您在LINUX中架设代理服务器
使用Linux系统架设安全的网关
解决Linux服务器下误删除文件问题!
高效配置Linux代理服务器 Squid介绍
基于Linux的虚拟主机搭建
Linux 服务器的远程控制技术及实战
教程:如何最快搭建LINUX服务器集群
Apache安装配置优化
Linux实战之NFS服务器客户端配置
LAMP服务器就环境的建立
基于Linux的FTP服务器权限管理

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


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