论坛风格切换切换到宽版
  • 752阅读
  • 8回复

[问题求助]请高手帮我写一下iptables脚本! [复制链接]

上一主题 下一主题
离线smilei34516.
 
发帖
2024
C币
-140163
威望
393
贡献值
1
银元
-1
铜钱
4592
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
1、WEB服务器一台,CentOS4.4,只安装apache和php。eth0的地址是192.168.0.1(用于连接mysql服务器),eth1绑定公网地址(对外提供www服务,仅允许MAC地址为00:AA:BB:CCD:EE通过ssh登录)http://upload.bbs.csuboy.com/Mon_1004/126_7053_3b01f95722f71e9.gif[/img]              乙肝
2、Mysql服务器一台,CentOS4.4,只安装mysql,提供ssh服务。eth0的地址是192.168.0.2(用于连接web服务器),eth1绑定公网地址(仅用于远程维护,仅允许MAC地址为00:AA:BB:CCD:EE通过ssh登录)http://upload.bbs.csuboy.com/Mon_1004/126_7053_3b01f95722f71e9.gif[/img]    外汇

对iptables的要求:
1、能够防止一.定强度的DDOS和SYN。(本人不才,能够想到的安全设置.也就这个,不知道还有没有别的)--- 印刷
2、当210.210.210.0网段的用户访问..web服务器的www服务时,让他直接去浏览www.sina.com.cn            杀毒

2台服务.器的功能不同,访问的方式也不同,我想,iptabl.es脚本也应该不一样吧。          婚庆

麻.烦各位高手高抬贵手,帮我写一下.脚本。最好能够带上注释,我不光要用,还要学习呀。           女人

[ 本帖最后由 ecco 于 2.007-1-14 .03:29 编辑 ]    外汇


最佳答案飘雪心辰
http://upload.bbs.csuboy.com/Mon_1004/126_7053_c2515fb4e40125e.gif[/img]Mysql 学习
#!/bin/bash



######C.reate_Dat.e:2006-10-08-piaoxue######域名

#.#####Ref_Book:LinuxFireWalls#.#####域名

######MY.SQL SERVER######          婚庆

###.###################.################.

# System Kernel_Va.r Set.

echo 1. > /proc/sys/net/ipv4/icmp_echo_ign.ore_broadcasts           鲜花

echo 1 > ./proc/sys/net/ipv4/tcp_s.yncookies(        游戏          )

for. f._asr in /proc/sys/net/ipv4/conf/*/accept_source_route;do域名

        .echo 0 > $f_asr学习

done

for .f_ar in /proc/sys/net/ipv4/conf/*/accept_redirects.;do服务器

     .   echo 0 > $f_ar.

done

for f_sr in /proc/sys/net/.ipv4/conf/*/send_redirec.ts;do              乙肝

        echo 0 > $.f_sr(广告)

done

for f_rf in /proc/sys/net/ipv4./conf/*./rp_filter;do<性病>

        echo 1 .> $f_rf[成人用品]

done

for f_lm in /.proc/sys/net/ipv4/conf/*/log_mart.ians;do(        游戏          )

        echo .1 > $f_lm虚拟主机

done

###########.#############.##############健康



#######.########################.#######             电子

# Var Set

IPT="/sbin./iptables"             电子

MYSQL_ETH1="eth1."健康

MYSQL_WLAN_.ETH.1_IP="202.202.202.203"            杀毒

MY.SQL_ETH0="eth0"域名

MYSQL_INTER_ETH0_I.P="192..168.0.2".

WEB_SERVER_I.P=".192.168.0.1"          婚庆

MY_IP="66.66.6.6.66"           鲜花

NAMESER.VER1="53.53.53.53"           鲜花

NAMESERVER2=."53.53.53.54"域名



LOOPBACK="127.0.0..0/8"    美容

CLASS._A="10.0.0.0/8".

CLAS.S_B="172.16.0.0/12"(广告)

L.CASS_D_MULTICA.ST="224.0.0.0/4".

CLASS_E_RESERVED_N.ET="240.0..0.0/5".

BCAST_SRC="0.0.0..0"            杀毒

B.CAST_DEST="255.255..255.255"--------------彩票

PRIV_PORTS="0:1023."--- 印刷

UNPRIV_P.ORTS="1024:65535"           建材

#.##############################.#######.



#######################.############.###    外汇

# Init Rules

$IPT -F

$IPT -t nat -F

$IP.T -t mangle -F健康

$IPT -X

$IPT -t nat -X

$IPT -t m.angle -X.

$IPT -.P INPUT ACCEPT.

$IPT .-P OUTPUT ACCEPT           女人

$IPT -.P FORWARD ACCEPT    外汇

$IPT -t nat -.P .PREROUTING ACCEPT.

$IPT -t na.t -P. POSTROUTING ACCEPT            杀毒

$IPT -t nat -.P O.UTPUT ACCEPT域名

$IPT -t mangle -P PREROU.TING ACCE.PT域名

$IPT -t mangle .-P INPUT A.CCEPT.

$IPT -t mang.le -P FORWARD ACCE.PT教育

$.IPT -t mangle -P OUTPUT ACC.EPT           女人

$IPT -t mangle -P POSTRO.UTING ACCEPT.--- 印刷

if [ "$1" == "stop.." ];then(        游戏          )

        echo "WARNING:Firewall comp.letely stoppe.d! NO FIREWALL RULES"学习

        echo "警告:防火墙初始化完.毕,不.装载任何规则"--------------彩票

        exit 0

fi

#############.#########.################.



###############.#######.################教育

# Default Policy..

$IPT -F

$IPT -t nat -F

$IPT -.t mangle -F健康

$IPT -X

$IPT -t nat -X

$IP.T -t mangle -X(        游戏          )

$.IPT -P INPUT DROP投资

$IPT. -P OUTPUT DROP.

$IPT -P FOR.WARD DROP    外汇

$IPT -t nat. -P PR.EROUTING ACCEPT(广告)

$IPT -t na.t -P POSTROUTI.NG ACCEPT--------------彩票

$IPT -t nat -P OUT.PUT. ACCEPT电脑

$IPT -t mangle -P PREROUTI..NG ACCEPT.

$IPT -t mang.le -P INPUT .ACCEPT    美容

$IPT -t mangle. -P FORWARD ACCE.PT--------------彩票

$IP.T -t mangle -P OUTPUT ACCE.PT    健康

$.IPT -t mang.le -P POSTROUTING ACCEPT           鲜花

##############.#.#######################教育



#####.###############################.##外贸

# Allo.w Loopback (广告)

$IPT -A INPUT -i .lo .-j ACCEPT.

$IPT -A OUTPUT -o lo -j ACCE..PT学习

#####################.############.#####虚拟主机



###############.####.###################[成人用品]

# Bad Flags

$I.PT -N BAD-FLAGS          婚庆

$IPT -A BAD-FLAGS -p tcp -.-tcp-flags ALL NONE -j DR.OP.

$IPT -A .BAD-FLAGS -p tcp --tcp-flags SYN,FIN SYN,FIN -j DRO.P虚拟主机

$IPT -A BAD-FL.AGS -p tcp --.tcp-flags SYN,RST SYN,RST -j DROP          婚庆

$IPT. -A BAD-FLAGS -p tcp --tcp-flags FIN,RST FIN,RST -j DROP.           女人

$IPT -A. BAD-FLAGS -p tcp --tcp-fla.gs ACK,FIN FIN -j DROP(        游戏          )

$IPT -A BAD-FLAGS -.p tcp --tcp-flags ACK,PSH PS.H -j DROP           建材

$IPT -.A BAD-FLAGS -p tcp --tc.p-flags ACK,URG URG -j DROP.

$IPT -.A INPUT -j .BAD-FLAGS电影

####.#########################.#########虚拟主机



##########################.#######.#####[成人用品]

# States Go

$IPT -A INPUT -m state --state ESTABLISHED,RELATE.D -j AC.CEPT.

$IPT -A OUT.PUT -m state --stat.e ESTABLISHED,RELATED -j ACCEPT[成人用品]

#################.##################.###--- 印刷



###########.#######################.####    美容

# Bad Ip

$IPT -N BAD-IP

$IP.T -A BAD-IP. -s $LOOPBACK -j DROP           鲜花

$IP.T -A BAD-IP -s $.CLASS_A -j DROP    美容

$IPT -A BAD-IP -s $CLA..SS_B -j DROP           建材

$IPT -A BAD-IP -s $LCASS_D_MULTI.CAST -.j DROP

$IPT -A BAD-.IP -s $CLAS.S_E_RESERVED_NET -j DROP--- 印刷

$IPT -A BAD-IP -s .$BCAST_DEST -j. DROP.

$IP.T .-A BAD-IP -d $BCAST_SRC -j DROP电脑

$IPT. -A BAD-IP -s 0.0.0.0/.8 -j DROP.

$IPT -A BAD-IP -s. 169.25.4.0.0/16 -j DROP.

$IPT. -A INPUT -i $MYSQL_ETH1 -j B.AD-IP学习

$IPT -A INPUT -i $MYSQL_ETH.0 -j B.AD-IP

#.##########.###########################             汽车



#.###########################.##########--- 印刷

# Start WebServer To. Mysq.lServer 3306.

$IPT -A INP.UT .-i $MYSQL_ETH0 -p tcp -s. $WEB_SERVER_IP -d $MYSQL_INTER_ETH0_IP --dport 3306 -m state --state NEW -j ACCEPT[成人用品]

########################.###########.###           建材



###############################.#.######虚拟主机

# Unprivports To MYSQL_Server P.rivp.orts 22.

$IP.T -A IN.PUT -i $MYSQL_ETH1 -p tcp. --sport $UNPRIV_PORTS -d $MYSQL_WLAN_ETH1_IP --dport 22 -m state --state NEW -j ACCEPT[成人用品]

#####$IPT -A. INPUT -i $MYS.QL_ETH1 -p tcp -s $MY._IP --sport $UNPRIV_PORTS -d $MYSQL_WLAN_ETH1_IP --dport 22 -m state --s.tate NEW -j ACCEPT####服务器

##############.####################.####.



##.#################.###################外贸

# Dns Query

$IPT -A OUTPUT -o $MYSQL_ETH1 -p udp -s $MYSQL_WLAN_ETH1_IP -d .$NAMESE.RVER1 --dport 53 -m state --s.tate NEW -j ACCEPT--- 印刷

$IPT -A O.UTPUT -o $MYSQL_ETH1 -p udp -s $MYSQL_WLAN_ETH1_IP .-d $NAMESERVER2 --dport. 53 -m state --state NEW -j ACCEPT

##.###################################.#.



##########.#########.###################.

# Icmp Info

$IPT -A INPUT -p icmp  --.fragment  -j. DROP电脑

$IPT -A INPU.T -p icmp .--icmp-type source-quench -j ACCEPT              乙肝

$IP.T -A INPUT -p icmp --icmp-type parame.ter-problem -j ACCEPT.

$IPT -A INPUT -p icmp --ic.mp-type destinatio.n-unreachable -j ACCEPT电脑

$IPT -A INPUT -p icmp --icmp.-ty.pe fragmentation-needed -j ACCEPT.

$IPT -A INPUT .-p ic.mp --icmp-type time-exceeded -j ACCEPT.

$IPT -A INPUT -p icmp --icmp-type .ech.o-request -m state. --state NEW -j ACCEPT          婚庆

$IPT -A OUTPUT -p icmp. --icmp-type par.ameter-problem -j ACCEPT--------------彩票

$IPT -A OUTPUT -p icmp --icmp-.type destination-unreachable -j ACCEPT.电影

$IP.T -A OUTPUT -p icm.p --icmp-type echo-request -m .state --state NEW -j ACCEPT虚拟主机

####.###########################.#######.



################.#####################.#投资

$IPT -A INPUT -j REJECT -.-reject-.with icmp-host-prohibited.

####.##########.########################虚拟主机
复制代码


QUOTE:###############.######.#################投资
# System Kernel_.Var Set    健康
设置系统内.核参数(可选,不设也没多少关系).
#.##########.###########################学习

#############.########.#################.
# Var Set 脚本变量
MYSQL_ETH1=第二块网.卡接口eth1--------------彩票
MYSQL_WLAN_ET.H1._IP=Mysql服务器公网IP[成人用品]
MYSQL_ETH0.=第一块网卡接口eth0--- 印刷
MYSQL_INTER_ETH0_IP.=Mysql服务器内网.IP.
W.EB_SERVER_IP=内网Web IP.
MY_IP=你的IP地址
NAME.SERVER1=第一个DNS服务器IP.
NAMESERVER2=第二个DN.S服务器IP.
保留地址:
LOOPBACK="12.7.0.0.0/8"    外汇
C.LASS_A="10.0.0.0/8"投资
CLASS_B="172.1.6.0.0/12"          婚庆
LCASS_D_MULTIC.AST="22.4.0.0.0/4"(        游戏          )
CLASS_E_.RESERVED_NET="2.40.0.0.0/5"           女人
BCAST._SRC="0.0.0.0"投资
BCAST_.DEST="255.255..255.255"           女人
特权端口与非特权端口:
PRIV._PORTS="0:1023"
UNPRIV_PORT.S="1024:65535".
###########################.#######.####学习

#########################.############.#外贸
# Init Rules
传递stop参数初始化防火墙,放行一切数据流。.    外汇
#############.##########.###############.

#####################################..#--- 印刷
# Default Poli.cy--- 印刷
防火墙缺省规则,想进.,想出,想顺道杀无赦             汽车
#####################.###########.######健康

################################.####.##.
# Allo.w Loopback            女人
允许本地回环端口(lo)
###########################.######.#####           女人

##########.##############.##############             汽车
# Bad Flags
阻挡错误的tcp标记位
###.################.###################服务器

######.################################.           鲜花
# States Go
已经建立的数据流或跟已存在的数据流相关数.据包放行外贸
####.######################.############[成人用品]

######.###############.#################.
# Bad Ip
增加错误的IP地址来源
########################.###########.###.

###############.#####################.##.
# Start WebSer.ver To M.ysqlServer 3306投资
允.许从内网的Web服务器向内网的Mysql服.务器3306发起请求             电子
###############.###################.####教育

############.#########.#################--- 印刷
# Un.privports To M.YSQL_Server Privports 22--- 印刷
允许从互联网.上的非特权端口向Mysql服务器的SSH服.务发起请求(如客户端IP固定可用下面语句)            杀毒
#####$IPT. -A INPUT -i $MYSQ.L_.ETH1 -p tcp -.s $MY_IP --sport $UNPRIV_PORTS -d $MYSQL_WLAN_ETH1_IP --dport 22 -m state --state NEW -j ACCEPT####投资
#################..#####################健康

#####################.#############.####           女人
# Dns Query
允许Mysql服务器向DNS1和DNS.2查询域名--------------彩票
#.####.#################################           鲜花

#####.#########################.########域名
# Icmp Info
允许一些Icmp的包通过
#################################..#####<性病>

###.##############################.#####电影
随你便,这一条你可加可不加
$IPT -A INPUT -j REJ..ECT --reject-with icmp-host-prohibited虚拟主机
##########.##.##########################电脑

第一,MAC地址不能跨过路由的边界.,要么网段里.面还有个公网IP,可增加规则。.
第二,关于增加210.210.210.0的网段定向到s.ina.com.cn。.我想还是在应用层用Apache的重定向模块来实现较好。--------------彩票
把下面语句加到DocumentRoot目录的<Directory "/var/www/h.tml/">...</Directory>语句.里面。.
RewriteEngin.e on
RewriteCond   .%{REMOTE_ADDR}  ^210\.210\.210\...+$          婚庆
rewriterule ^(.*)$ http://www.sina.com.cn/ [R]<性病>

[ 本帖最后由 飘雪心辰 于 .2007-1-15. 14:13 编辑 ]            杀毒


评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线zcl8840.
发帖
1904
C币
-193754
威望
357
贡献值
1
银元
-2
铜钱
4354
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
Mysql
#!/bin/bash



######Create_Date:2006-10-08-piaoxue######

######Ref_Book:LinuxFireWalls######

######MYSQL SERVER######

######################################

# System Kernel_Var Set

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

for f_asr in /proc/sys/net/ipv4/conf/*/accept_source_route;do

        echo 0 > $f_asr

done

for f_ar in /proc/sys/net/ipv4/conf/*/accept_redirects;do

        echo 0 > $f_ar

done

for f_sr in /proc/sys/net/ipv4/conf/*/send_redirects;do

        echo 0 > $f_sr

done

for f_rf in /proc/sys/net/ipv4/conf/*/rp_filter;do

        echo 1 > $f_rf

done

for f_lm in /proc/sys/net/ipv4/conf/*/log_martians;do

        echo 1 > $f_lm

done

######################################



######################################

# Var Set

IPT="/sbin/iptables"

MYSQL_ETH1="eth1"

MYSQL_WLAN_ETH1_IP="202.202.202.203"

MYSQL_ETH0="eth0"

MYSQL_INTER_ETH0_IP="192.168.0.2"

WEB_SERVER_IP="192.168.0.1"

MY_IP="66.66.66.66"

NAMESERVER1="53.53.53.53"

NAMESERVER2="53.53.53.54"



LOOPBACK="127.0.0.0/8"

CLASS_A="10.0.0.0/8"

CLASS_B="172.16.0.0/12"

LCASS_D_MULTICAST="224.0.0.0/4"

CLASS_E_RESERVED_NET="240.0.0.0/5"

BCAST_SRC="0.0.0.0"

BCAST_DEST="255.255.255.255"

PRIV_PORTS="0:1023"

UNPRIV_PORTS="1024:65535"

######################################



######################################

# Init Rules

$IPT -F

$IPT -t nat -F

$IPT -t mangle -F

$IPT -X

$IPT -t nat -X

$IPT -t mangle -X

$IPT -P INPUT ACCEPT

$IPT -P OUTPUT ACCEPT

$IPT -P FORWARD ACCEPT

$IPT -t nat -P PREROUTING ACCEPT

$IPT -t nat -P POSTROUTING ACCEPT

$IPT -t nat -P OUTPUT ACCEPT

$IPT -t mangle -P PREROUTING ACCEPT

$IPT -t mangle -P INPUT ACCEPT

$IPT -t mangle -P FORWARD ACCEPT

$IPT -t mangle -P OUTPUT ACCEPT

$IPT -t mangle -P POSTROUTING ACCEPT

if [ "$1" == "stop" ];then

        echo "WARNING:Firewall completely stopped! NO FIREWALL RULES"

        echo "警告:防火墙初始化完毕,不装载任何规则"

        exit 0

fi

######################################



######################################

# Default Policy

$IPT -F

$IPT -t nat -F

$IPT -t mangle -F

$IPT -X

$IPT -t nat -X

$IPT -t mangle -X

$IPT -P INPUT DROP

$IPT -P OUTPUT DROP

$IPT -P FORWARD DROP

$IPT -t nat -P PREROUTING ACCEPT

$IPT -t nat -P POSTROUTING ACCEPT

$IPT -t nat -P OUTPUT ACCEPT

$IPT -t mangle -P PREROUTING ACCEPT

$IPT -t mangle -P INPUT ACCEPT

$IPT -t mangle -P FORWARD ACCEPT

$IPT -t mangle -P OUTPUT ACCEPT

$IPT -t mangle -P POSTROUTING ACCEPT

######################################



######################################

# Allow Loopback

$IPT -A INPUT -i lo -j ACCEPT

$IPT -A OUTPUT -o lo -j ACCEPT

######################################



######################################

# Bad Flags

$IPT -N BAD-FLAGS

$IPT -A BAD-FLAGS -p tcp --tcp-flags ALL NONE -j DROP

$IPT -A BAD-FLAGS -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

$IPT -A BAD-FLAGS -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

$IPT -A BAD-FLAGS -p tcp --tcp-flags FIN,RST FIN,RST -j DROP

$IPT -A BAD-FLAGS -p tcp --tcp-flags ACK,FIN FIN -j DROP

$IPT -A BAD-FLAGS -p tcp --tcp-flags ACK,PSH PSH -j DROP

$IPT -A BAD-FLAGS -p tcp --tcp-flags ACK,URG URG -j DROP

$IPT -A INPUT -j BAD-FLAGS

######################################



######################################

# States Go

$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

######################################



######################################

# Bad Ip

$IPT -N BAD-IP

$IPT -A BAD-IP -s $LOOPBACK -j DROP

$IPT -A BAD-IP -s $CLASS_A -j DROP

$IPT -A BAD-IP -s $CLASS_B -j DROP

$IPT -A BAD-IP -s $LCASS_D_MULTICAST -j DROP

$IPT -A BAD-IP -s $CLASS_E_RESERVED_NET -j DROP

$IPT -A BAD-IP -s $BCAST_DEST -j DROP

$IPT -A BAD-IP -d $BCAST_SRC -j DROP

$IPT -A BAD-IP -s 0.0.0.0/8 -j DROP

$IPT -A BAD-IP -s 169.254.0.0/16 -j DROP

$IPT -A INPUT -i $MYSQL_ETH1 -j BAD-IP

$IPT -A INPUT -i $MYSQL_ETH0 -j BAD-IP

######################################



######################################

# Start WebServer To MysqlServer 3306

$IPT -A INPUT -i $MYSQL_ETH0 -p tcp -s $WEB_SERVER_IP -d $MYSQL_INTER_ETH0_IP --dport 3306 -m state --state NEW -j ACCEPT

######################################



######################################

# Unprivports To MYSQL_Server Privports 22

$IPT -A INPUT -i $MYSQL_ETH1 -p tcp --sport $UNPRIV_PORTS -d $MYSQL_WLAN_ETH1_IP --dport 22 -m state --state NEW -j ACCEPT

#####$IPT -A INPUT -i $MYSQL_ETH1 -p tcp -s $MY_IP --sport $UNPRIV_PORTS -d $MYSQL_WLAN_ETH1_IP --dport 22 -m state --state NEW -j ACCEPT####

######################################



######################################

# Dns Query

$IPT -A OUTPUT -o $MYSQL_ETH1 -p udp -s $MYSQL_WLAN_ETH1_IP -d $NAMESERVER1 --dport 53 -m state --state NEW -j ACCEPT

$IPT -A OUTPUT -o $MYSQL_ETH1 -p udp -s $MYSQL_WLAN_ETH1_IP -d $NAMESERVER2 --dport 53 -m state --state NEW -j ACCEPT

######################################



######################################

# Icmp Info

$IPT -A INPUT -p icmp  --fragment  -j DROP

$IPT -A INPUT -p icmp --icmp-type source-quench -j ACCEPT

$IPT -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT

$IPT -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT

$IPT -A INPUT -p icmp --icmp-type fragmentation-needed -j ACCEPT

$IPT -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT

$IPT -A INPUT -p icmp --icmp-type echo-request -m state --state NEW -j ACCEPT

$IPT -A OUTPUT -p icmp --icmp-type parameter-problem -j ACCEPT

$IPT -A OUTPUT -p icmp --icmp-type destination-unreachable -j ACCEPT

$IPT -A OUTPUT -p icmp --icmp-type echo-request -m state --state NEW -j ACCEPT

######################################



######################################

$IPT -A INPUT -j REJECT --reject-with icmp-host-prohibited

######################################
复制代码


QUOTE:######################################
# System Kernel_Var Set
设置系统内核参数(可选,不设也没多少关系)
######################################

######################################
# Var Set 脚本变量
MYSQL_ETH1=第二块网卡接口eth1
MYSQL_WLAN_ETH1_IP=Mysql服务器公网IP
MYSQL_ETH0=第一块网卡接口eth0
MYSQL_INTER_ETH0_IP=Mysql服务器内网IP
WEB_SERVER_IP=内网Web IP
MY_IP=你的IP地址
NAMESERVER1=第一个DNS服务器IP
NAMESERVER2=第二个DNS服务器IP
保留地址:
LOOPBACK="127.0.0.0/8"
CLASS_A="10.0.0.0/8"
CLASS_B="172.16.0.0/12"
LCASS_D_MULTICAST="224.0.0.0/4"
CLASS_E_RESERVED_NET="240.0.0.0/5"
BCAST_SRC="0.0.0.0"
BCAST_DEST="255.255.255.255"
特权端口与非特权端口:
PRIV_PORTS="0:1023"
UNPRIV_PORTS="1024:65535"
######################################

######################################
# Init Rules
传递stop参数初始化防火墙,放行一切数据流。
######################################

######################################
# Default Policy
防火墙缺省规则,想进,想出,想顺道杀无赦
######################################

######################################
# Allow Loopback
允许本地回环端口(lo)
######################################

######################################
# Bad Flags
阻挡错误的tcp标记位
######################################

######################################
# States Go
已经建立的数据流或跟已存在的数据流相关数据包放行
######################################

######################################
# Bad Ip
增加错误的IP地址来源
######################################

######################################
# Start WebServer To MysqlServer 3306
允许从内网的Web服务器向内网的Mysql服务器3306发起请求
######################################

######################################
# Unprivports To MYSQL_Server Privports 22
允许从互联网上的非特权端口向Mysql服务器的SSH服务发起请求(如客户端IP固定可用下面语句)
#####$IPT -A INPUT -i $MYSQL_ETH1 -p tcp -s $MY_IP --sport $UNPRIV_PORTS -d $MYSQL_WLAN_ETH1_IP --dport 22 -m state --state NEW -j ACCEPT####
######################################

######################################
# Dns Query
允许Mysql服务器向DNS1和DNS2查询域名
######################################

######################################
# Icmp Info
允许一些Icmp的包通过
######################################

######################################
随你便,这一条你可加可不加
$IPT -A INPUT -j REJECT --reject-with icmp-host-prohibited
######################################

第一,MAC地址不能跨过路由的边界,要么网段里面还有个公网IP,可增加规则。
第二,关于增加210.210.210.0的网段定向到sina.com.cn。我想还是在应用层用Apache的重定向模块来实现较好。
把下面语句加到DocumentRoot目录的<Directory "/var/www/html/">...</Directory>语句里面。
RewriteEngine on
RewriteCond   %{REMOTE_ADDR}  ^210\.210\.210\..+$
rewriterule ^(.*)$ http://www.sina.com.cn/ [R]

[ 本帖最后由 飘雪心辰 于 2007-1-15 14:13 编辑 ]


发帖
2167
C币
-139064
威望
396
贡献值
1
银元
-2
铜钱
4806
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
看到您给我的短信了,感谢光临小站。你试着把你能写出的最好程度的脚本放出来,我们帮您看看吧。。。在探讨中学习进步,这样才能比较深刻的领会。。。毕竟所谓的经验,除了获得正确的方法之外,还有规避错误的心得呢


发帖
2155
C币
-60173
威望
418
贡献值
1
银元
0
铜钱
4869
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
1、WEB服务器一台,CentOS4.4,只安装apache和php。eth0的地址是192.168.0.1(用于连接mysql服务器),eth1绑定公网地址(对外提供www服务,仅允许MAC地址为00:AA:BB:CC:DD:EE通过ssh登录)


发帖
2119
C币
-235314
威望
380
贡献值
1
银元
-4
铜钱
4762
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13


QUOTE:原帖由 skylove 于 2007-1-14 05:56 发表
看到您给我的短信了,感谢光临小站。你试着把你能写出的最好程度的脚本放出来,我们帮您看看吧。。。在探讨中学习进步,这样才能比较深刻的领会。。。毕竟所谓的经验,除了获得正确的方法之外,还有规避错误的心得呢


是啊!尝试自己写,有错不要紧,大家讨论解决你才会有长进.


发帖
2087
C币
-235584
威望
384
贡献值
2
银元
-2
铜钱
4678
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
几个问题概念没弄清
1、

QUOTE:eth1绑定公网地址(对外提供www服务,仅允许MAC地址为00:AA:BB:CCD:EE通过ssh登录)

MAC 地址是不跨路由的,因此这句话我没有理解,仅按照你的语言描述写算了

2、


QUOTE:当210.210.210.0网段的用户访问web服务器的www服务时,让他直接去浏览www.sina.com.cn

这里的网段指的是一个 C 地址吗?若是,那么继续

3、


QUOTE:对外提供www服务,仅允许MAC地址为00:AA:BB:CCD:EE通过ssh登录
eth0的地址是192.168.0.2(用于连接web服务器)

我是否可以理解为,mysql 与 web 直连但未必有 ssh 登录的权限?


WEB
#! /bin/bash

service iptables stop

modprobe ip_conntrack_ftp

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -p tcp --dport  80 -j ACCEPT

iptables -A INPUT -m mac --mac-source AA:BB:CC:DD:EE:FF -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT



# 获取 sina 的 IP 地址,因为 iptables 每次取值有可能不同,所以为了一次性固定

SINA_IP=`ping -W 1 -c 1 www.sina.com.cn|awk -F'[ :]' '/bytes from/{print $4}'`

iptables -t nat -A PREROUTING -s 210.210.210.0 -p tcp --dport 80 -j DNAT --to $SINA_IP

iptables -t nat -A POSTROUTING -d $SINA_IP -j SNAT --to 外网IP地址

iptables -P INPUT DROP
复制代码

/etc/sysctl.conf,保证下面两句存在,修改后运行 sysctl -p
net.ipv4.ip_forward=1

net.ipv4.tcp_syncookies=1
复制代码




MYSQL
#! /bin/bash

service iptables stop

modprobe ip_conntrack_ftp

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -i eth0 -s 192.168.0.1 -p tcp --dport 3306 -j ACCEPT

iptables -A INPUT -m mac --mac-source AA:BB:CC:DD:EE:FF -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -P INPUT DROP
复制代码


/etc/sysctl.conf,保证下面两句存在,修改后运行 sysctl -p
net.ipv4.ip_forward=0

net.ipv4.tcp_syncookies=1
复制代码


离线chinablue.
发帖
2151
C币
-235260
威望
390
贡献值
1
银元
-3
铜钱
4734
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13


QUOTE:原帖由 platinum 于 2007-1-14 10:02 发表
几个问题概念没弄清
1、
MAC 地址是不跨路由的,因此这句话我没有理解,仅按照你的语言描述写算了

2、

这里的网段指的是一个 C 地址吗?若是,那么继续

3、

我是否可以理解为,mysql 与 web 直连 ...



QUOTE:# 获取 sina 的 IP 地址,因为 iptables 每次取值有可能不同,所以为了一次性固定
SINA_IP=`ping -W 1 -c 1 www.sina.com.cn|awk -F'[ :]' '/bytes from/{print $4}'`
iptables -t nat -A PREROUTING -s 210.210.210.0 -p tcp --dport 80 -j DNAT --to $SINA_IP
iptables -t nat -A POSTROUTING -d $SINA_IP -j SNAT --to 外网IP地址
iptables -P INPUT DROP


上面可能会有问题的,1,sina不允许用IP访问其网页,且IP较多.(好像这里不会,不知道搞错没有.我试试)
不如考滤用DNS的方式,将其53端口转到本机,然后在本机的DNS做处理.毕竟DNS服务在这个网络应用里还是比较简单的



QUOTE:iptables -A PREROUTING -s 210.210.210.0 -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
iptables -A PREROUTING -s 210.210.210.0  -p tcp -m tcp --dport 53 -j REDIRECT --to-ports 53


小弟愚见!

[ 本帖最后由 枫影谁用了 于 2007-1-14 10:20 编辑 ]


离线daofeng99.
发帖
2012
C币
-152620
威望
379
贡献值
1
银元
-5
铜钱
4612
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
对于公网用户的 DNS 是不可管理的,因为
1、只有公网用户使用了自己的 DNS 才能解析域名到这个 www 服务器上
2、你不是网关机

对于 sina 使用了 squid 去根据 DOMAIN  判断是否允许访问的问题确实存在,上面只是给了一个思路而已,楼主完全可以转向 CU,或者其他网站


离线xsheng1983.
发帖
2049
C币
-199186
威望
366
贡献值
1
银元
-3
铜钱
4536
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13
哦,嗯.

是啊,不是网关机.

快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个