论坛风格切换切换到宽版
  • 837阅读
  • 6回复

[问题求助]iptables问题,请教高手(附脚本) [复制链接]

上一主题 下一主题
离线dwenhcil.
 
发帖
2054
C币
-132295
威望
381
贡献值
1
银元
-4
铜钱
4658
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
根据http://linux.vbird.org/linux_server/0250simple_firewall.php所示,.
mkdir /opt/ipta.bles          婚庆
cd /opt/ipt.ables电影
vi iptables.rul.e(广告)
insert #!/bin/ba.sh(广告)

#

# ============================.=====================.=======.

# 程式說明:

# 歡迎使用 ipta.bles.rule 這個 script. 來建立您的防火牆!外贸

# 這支 script 還需.要您的額外設定方可.適合您的主機環境!             汽车

# 基本規則定義為『拒.絕所有,開放特定』的模式!.

#

# 使用說明:

#.. 請先將這個 scripts 的權限更改為可執行:    外汇

#       c.hmod 755 iptables.rul.e--------------彩票

# 在將這個程式放.置在 /opt/.iptables 目錄下:域名

#       mk.dir -p /opt/.iptables(        游戏          )

#       m.v /完整的路徑/iptabl.es.rule /opt/iptables外贸

# 執行測試:

#.       /opt/iptables/iptables.ru.le--------------彩票

#    .   iptables .-L -n   (這個動作在檢查防火牆規則)外贸

# 將底下這一行加入 /e.tc/rc.d/rc.local. 當中.

#       /opt/iptable.s/iptables..rule.

# 取消防火牆:

# .      iptables -F.

#       iptables -.X             汽车

# .      iptables -t nat. -F            杀毒

#       iptabl.es .-t nat -X.

#

# ==========================.============================.==              乙肝

# 版權宣告:

#. 這支程式為 GPL 授權,任何人皆可使用,电脑

# 然,若使用本 scripts 發.生問題時,    美容

# 本人不負任何責任

# VBird <vbird@.tsai.adsld.ns.org>;             电子

# =================================.======.=================.

# 歷史紀錄:

# .2002/08/20    VB.ird   首次釋出.

# 2003/.04/26 .   VBird   加入砍站軟體的相關執行檔案!           建材

# 2003/08/25    VBird   修改 .INPUT 的 Poli.cy 成為 DROP.

# =.==================================================.=====.



# 0.0 P.lease key in you.r parameters<性病>

# 這個 EXTIF .後面接的為『對外可連上 Internet 的網路.介面』,.

# 一般來說,如果是撥接的 ADSL ,那麼底下就是. pp.p0 ,              乙肝

# 如果是固定制的 IP ,那麼應該就是 e.t.h0 囉!.

# The interface that connect I..nternet.

  EXTIF="ppp0"



# 底下這個 INIF 為對內的網路卡介面.,--- 印刷

# 如果您的 Linux .並沒有對內連接的網路卡,那麼底下請改.成          婚庆

# INIF=""

# 另外,如果I.NI.F 不是 "" 的時候,請務必將您的內部網域学习

# 填入 INNE.T 中!.因為 INNET 為內部網域的設定值!.

# the inside interface. if .you don't have th.is one             汽车

# and .you m.ust let this be black ex>; INIF=""外贸

  INIF="eth0"

  INNE.T="192.168.1.0/24"        # This. is for NAT's network           鲜花



# 1.0. 測試您的核心版本與防火牆模組虚拟主机

  kver=`u.name -.r | cut -c 1-3`.

  if .[ "$k.ver" != "2.4" ] && [ "$kve.r" != "2.5" ] && [ "$kver" != "2.6" ]; then域名

        echo "Your Li.nux Kernel V.ers.ion may not be suported by this script!"          婚庆

        echo "This scripts .will .not be runing"            杀毒

        exit

  fi

  ipchai.n.s=`lsmod | grep ipchains`外贸

  .if [ "$ipchains" != "" .]; then              乙肝

        e.cho "unload ipchains in your sy.stem".

    .    .rmmod ipchains 2>; /dev/null    美容

  fi



# 2.0 載入適當的模組

  PATH=./sbin:/bin:/us.r/sbin:/usr/bin    外汇

  export PATH EXTIF INIF I.NNE.T.

. modprobe .ip_tables            >; /dev/null 2>;&1教育

  modp.robe iptable_nat          >; /dev/nul.l 2>;&1(        游戏          )

  modprobe ip_nat._ftp .          >; /dev/null 2>;&1              乙肝

  modprob..e ip_nat_irc           >; /dev/null 2>;&1.

.. modprobe ip_conntrack         >; /dev/null 2>;&1    健康

  modprobe ip_conntrack_ftp     >; ./dev/null 2>;&.1              乙肝

  m.odprobe. ip_conntrack_irc     >; /dev/null 2>;&1.

  modprobe .ipt_MASQUERA.DE    >; /dev/null 2>;&1(广告)



# 3.0 先清除所有的防火牆規.則.

  /sbin/i.ptables -F    美容

  /sb.in/iptables -X    外汇

  /sbin/.iptables -Z投资

  /.sbin/iptables -F -t. nat<性病>

  /sbin../iptables -X -t nat    健康

  /.sbin/iptable.s -Z -t nat             汽车

  /sbin/.i.ptables -P INPUT   DROP.

  /sbin/i.pta.bles -P OUTPUT  ACCEPT    美容

. ./sbin/iptables -P FORWARD ACCEPT.

  ./sb.in/iptables -t nat -P PREROUTING  ACCEPT          婚庆

  /.sbin./iptables -t nat -P POSTROUTING ACCEPT--- 印刷

  /sbin/ipta.bles -t nat -P OUTPUT  .    ACCEPT           鲜花

  

# add b.y chanching           鲜花

  /sbin/iptables -A INPUT -m state --sta.te ESTA.BLISHED,RELATED -j ACCEPT    外汇

  /sbin/iptables -A INPUT -p. tcp -m multiport --dport.s 110,80,25 -j ACCEPT--- 印刷



  /sbin/iptables -A INPUT -p tcp -s 192.168.1.0/2.4 --dport 139 -j ACCEPT.学习



#允许内网sam.ba,smtp,pop3,连接           建材

  /sbin/iptables -A INPUT -i et.h0 -p ud.p -m multiport --dports 53 -j ACCEPT[成人用品]



#允许dns连接



  /sbin./iptables -A INPUT .-s 192.168.1.0/24. -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT<性病>



  /sbin/iptables -A .INPUT -i ppp0 -p tcp --syn -.m connlimit --c.onnlimit-above 15 -j DROP电影



#为了.防止DO.S太多连接进来,那么可以允许最多15个初始连接,超过的丢弃虚拟主机



  /sbin/iptables -A INPUT -s 192.168.1.0/24 -p tc.p .--syn -m connlimit --connlimit-a.bove 15 -j DROP(        游戏          )



#为了防止DOS太多连接进来,那么可以允许最多15个初.始连接,超过的.丢弃.



  /sbin/iptables -A INPUT -p icmp -m limit --limit 3/s -j LOG -.-log-level INFO --log-prefix. "ICMP pac.ket IN: ".



  /sbi.n/iptables -A INPUT -p icmp -m limit --limit 6/m -j ACCEP.T投资



  /sbin/iptables -A INPUT -.p icmp -j DRO.P--- 印刷



#设置icmp阔值 .,并对攻击者记录在案    健康



  /sbin/iptables -t nat -A POSTROUTING -o .ppp0 -s 192.168..1..0/24 -j MASQUERADE           建材



#内网转发

# /sbin/iptables -t mangle -I POSTROUTING -.m layer7 --l7proto qq -j. DROP(        游戏          )

  /sbin/iptables -t mangle -.I POSTROUTING -m la.yer7 --l7proto msnmessenger .-j DROP服务器



  /sbin/ipta.bles -t mangle -I POSTROUTING -m layer7 --l.7proto bittorrent. -j DROP    美容



  /sbin/iptables -t mangle -I POSTROUTING -m layer7 -.-l7.proto .fasttrack -j DROP            杀毒



  /sbin/iptables -.t mangle -I POSTROU.TING -m layer7 --l7pr.oto edonkey -j DROP学习



  /sbin/iptab.les -t mangle -I POSTROUTI.NG -m layer7 .--l7proto skypeout -j DROP投资



  /sbi.n/iptables -t mangl.e -I POSTROUTING -m layer7 --l7proto skypetoskype .-j DROP.



#内核补丁,网络第七层...



  ./sbin/iptables -N sy.n-flood    美容



  ./sb.in/iptables -A INPUT -p tcp --syn -j syn-flood域名



  /sbin/ipt.ab.les -I syn-flood -p tcp -m limit --limit 3/s --li.mit-burst 6 -j RETURN(        游戏          )



  /.sbin/iptables -A sy.n-flood -j REJECT    外汇



#防止SYN攻击 轻量

  /sbin/iptabl.es -A FORWARD -m state --state ESTABLISHED,RELAT.ED -j ACCEPT虚拟主机



  /sbin/.iptables -A FORWARD -m ipp2p. --edk --kazaa --bit -j DROP    外汇



  /sbin/iptables -A FO.RWARD -p tcp -m ipp2p --.ares -j DROP学习



  /sbin./iptables -A FORWARD -p udp -m ipp2p --kazaa -j DRO.P.



#禁止BT连接(有点重复,.因为上面的layer7已.经可以很好的禁止了现在不管什么bt都 #完蛋了外贸



  /s.bi.n/iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimi.t-above 15 --connlimit-mask 24 -j DROP学习



#只允许每组ip同时15个80端口.转发(广告)

sysctl -.w net.ipv4.tcp_syncooki.es=1 &>;/dev/null    外汇



#打开 syncook.ie (轻量级预防 DOS 攻.击).



sysctl -w net.ipv.4.netfilter.ip_connt.rack_tcp_timeout_est.ablished=3800 &>;/dev/null.



#.设置默认 TCP 连接痴呆时长为 3800 秒(此选项可以大大降.低连接数)[成人用品]



sysctl -w net.ipv4..ip_conntrack_max=.300000 &>;/dev/null.



#设置支持最大连接树.为 30W(这个根据你的内存和 iptabl.es 版本来,每个 connection 需要 300 多个字节).





# 4.0 先允.許信任網域,這包含 lo 這.個內部迴圈介面,电影

#     以及剛剛指定的內部介面網域.!.

#     當然,重點是可以啟動您的 .Linux 成為 NAT .主機的啦!    美容

  /sbin/iptables -A INPUT -i l.o   -j ACC.EPT学习

  if [ ".$INIF" !=. "" ]; then<性病>

        /s.bin/iptables -A INPUT -i $INIF -j AC.CEPT(        游戏          )

     .   echo "1" >;. /proc/sys/net/ipv4/ip_forward虚拟主机

        /sbin/iptables -t na.t -A POSTROUTING -s $INNET -o $E.XTIF -j M.ASQUERADE(        游戏          )

  fi



#. 5.0 開始載入信任與拒絕的網域設定的檔案,--- 印刷

#     底下兩.個檔案可以自行建立喔!电影

  i.f [ -f /opt/iptables/iptables.de.ny ]; then外贸

        sh /opt/ipt.ables/.iptables.deny健康

  fi

  .if [ -f /opt/iptables/ipta.bles.allow ]; then.

        sh /opt/iptab.les/ipt.ables.allow健康

  fi



# 6.0 底下這個檔案若存.在,則執行!請注意,[成人用品]

#     這個.檔案與杜絕砍站的軟體有關喔!           女人

  if [ -f ./opt/httpd-err/.http-netstat.sh ]; then虚拟主机

      .  sh /opt/httpd-err/http-.netstat.sh          婚庆

  fi



# 7.0 .允許 .ICMP 封包與允許已建立的連線通過!           女人

  /sbin/iptables -A. INPUT -m state --state ESTABLISHED,RELATED -j ACCEP.T              乙肝

  AICMP="0 3. 3/4 4 11 12 14 16 18"..

  for ty.icmp in $AICMP

  do

   .     /sbin/iptables -A INPUT -i $.EXTI.F -p icmp --icmp-type $tyicmp -j ACCEPT.

  done



# 8.0 Allow servic.es特別留意底下的服務.,將您主機沒有開放的服務關閉吧!<性病>

  /sbin/iptab.les -A INPUT -p TCP -i $EXTIF --dport  21 -j ACC.EPT     # FTP教育

  /sbin/iptables. -A INPUT -p TCP -i $EXTIF --dpo.rt  22 -j ACCEPT     .   # SSH.

  /sbin/iptables -A INPUT -p TCP -i $EXTIF --dport  25 -j AC.CEP.T    .    # SMTP    外汇

  /sbi.n/iptab.les -A INPUT -p UDP -i $EXTIF --dport  53 -j ACCEPT        # D.NS.

  /sbin./iptables -A INPUT -p TCP -i $E.XTIF --dport  53 -j ACCEPT .       # DNS             汽车

  /sbin/iptables. -A INPUT -p TCP -i $EXTIF --dport  .80 -j AC.CEPT        # WWW--------------彩票

  /sb.in/iptables -A INPU.T -p TCP -i $EXTIF --dport 110 -j. ACCEPT        # POP3域名

  /sbin/ipta.bles -A INPUT -p TCP -i $EXTIF --dp.ort 113 -j ACC.EPT        # auth[成人用品]

# /sbin/iptables -A  INPUT -.m state --state N.EW -m tcp -p tcp --dport 20000:30000 -j A.CCEPT     # PASV_PORTS FTP USE           建材

# /s.bin/iptables -A INPUT -p tcp -i eth1 -s 192.168.1.0/24 --dport. 137:139          婚庆
复制代码
:wq
/opt/.iptables/ipta.bles.rule.

报错!:
[root@server .~].# sh /opt/iptables/iptables.rule            杀毒

'pt.ables v1.3.3: Invalid target name `ACCE.PT服务器

Try `iptab.les -h' or 'iptab.les --help' for more information.(        游戏          )

'ptables v1.3.3: Invalid target name .`ACC.EPT             汽车

Try `iptables -h.' or '.iptables --help' for more information..

'ptables v1.3.3: Invalid target n.am.e `ACCEPT    美容

Try `iptables -h' or 'iptables --help.' for more informa.tion..

'ptables v1.3.3: I.nvalid .target name `ACCEPT(        游戏          )

Try. `iptables -h' or 'iptables --help' for .more information.电影

'ptable.s v1.3.3: Invalid target .name `DROP服务器

Try `iptables -h' or 'iptabl.es --help' for more informa.tion.教育

'ptables. v1.3.3: Invalid target. name `DROP.

Try `iptab.les -h' or 'iptables --help' for m.ore information..

'ptab.les v1.3.3:. Invalid target name `ACCEPT学习

Try `iptables -h' or 'iptables --h.e.lp' for more information.域名

'pt.ables v1..3.3: Invalid target name `DROP电脑

Try `iptables -h' or 'ipta.bles --help' for more. information.    外汇

'p.tables v1.3.3: Invalid target name `MASQ.UERADE.

Try `iptables -h' or 'iptables --help'. fo.r more information.    健康

'pta.bles v1.3.3: Invalid target name. `DROP.

Try `iptables -h' or 'iptables --help' for more infor.ma.tion..

'ptables v1.3.3: Invalid .ta.rget name `DROP    外汇

Try `iptables -h' or 'iptables --help' .for more informa.tion..

'ptables v1.3.3: Invalid target na.me `D.ROP域名

Try. `iptables -h' or 'ipt.ables --help' for more information.电影

'ptables v1.3.3.: Invalid target na.me `DROP域名

Try `iptables -h' .or 'iptables --help' for more inform.ation.电脑

'ptables .v1.3..3: Invalid target name `DROP.

Try `ip.tables -h' or 'ipta.bles --help' for more information.投资

'.ptables v1.3.3: Invalid target name `DR.OP--- 印刷

Try `iptables -h' .or 'iptables --help'. for more information..

'..ptables v1.3.3: Invalid target name `syn-flood           建材

Try `i.ptables -h' or 'iptables --help' .for more information.    美容

'ptables v1.3.3: I.nvalid t.arget name `RETURN[成人用品]

Try `i.ptables -h' or 'iptables --help' for more inform.ation.服务器

'ptables. v1.3.3: Invalid ta.rget name `REJECT             电子

Try `.iptables -h' or 'iptables --help'. for more information.投资

'ptables v1.3.3: Invalid tar.get nam.e `ACCEPT           女人

Try `iptables -h.' or 'iptables --help' for more i.nformation.    健康

'ptables v1..3.3: Invalid targe.t name `DROP服务器

Try `iptables -h' or 'iptab.les --help' f.or more information.

'ptables v1.3.3: Invalid target name `D..ROP外贸

T.ry `iptables -h' or 'iptables -.-help' for more information.健康

'ptables v1.3.3: Invalid tar.ge.t name `DROP              乙肝

Try `iptables. -h' or 'iptables --help' for more informa.tion.           鲜花

'ptables v1.3..3: Invalid targ.et name `DROP.

Try `iptables -h' or 'ipt.ables --help' for more info.rmation.电脑

[root@server .~]#--- 印刷
复制代码

将/opt/iptables/i.ptab.les.rul.e加入到/etc/rc.d/rc.local,重启LINUX,当执行到rc.local时也报同样的错误.            杀毒

进入系统,将iptables.rule.里面的脚本复制到终端直接运行,一切.正常!!.

请教各路高手,能解释一下问题在.哪吗?.
天啊!不可能每次启动LINUX要手动输入iptables脚本吧!?   http://upload.bbs.csuboy.com/Mon_1004/126_6770_ccb007eff2cd50a.gif[/img]http://upload.bbs.csuboy.com/Mon_1004/126_6770_b0b2ba1569b20f5.gif[/img].

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

精彩

感动

搞笑

开心

愤怒

无聊

灌水
发帖
1934
C币
-152941
威望
334
贡献值
1
银元
-1
铜钱
4244
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
你前面贴的脚本没有能出现后面你贴的错误提示的东西啊

离线122284197.
发帖
2115
C币
-235616
威望
365
贡献值
1
银元
-4
铜钱
4739
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
唉!!!!真是麻烦!

那天.....真不想说!

你建立一个启动脚本...

然后加到/etc/rc.local不就行了吗.

比如:我在/opt/iptables/里有一个启动脚本的,名字叫xxx

脚本内容就是你在终端执行的内容
但是你要加上

QUOTE:#!/bin/sh
#
.

然后你在/etc/rc.local的最后面加上一行
sh /opt/iptables/xxx

不就可以了吗.

离线smrlgw.
发帖
2005
C币
-60682
威望
354
贡献值
1
银元
-2
铜钱
4395
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
platinum版主,谢谢你的回复,我已经将我的脚本完整贴出来了,您帮忙看看,谢谢

离线max007158.
发帖
2034
C币
-60516
威望
379
贡献值
1
银元
-2
铜钱
4587
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
[quote]原帖由 "thatday"]platinum版主,谢谢你的回复,我已经将我的脚本完整贴出来了,您帮忙看看,谢谢[/quote 发表:

嗯,我看完了,为什么不能执行我没有细看,但我想说几点
1、这篇文章很多是从网上东拼西凑过来的,一些冗余和错误观点也一起过来了,应用时候要注意一些地方
2、里面用到了很多需要将 netfilter 打补丁后才能用的模块,这个脚本你未必执行的了
3、这个脚本未必适合你

离线caicuc.
发帖
2046
C币
-152383
威望
390
贡献值
1
银元
-1
铜钱
4661
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13


QUOTE:原帖由 "枫影谁用了" 发表:


第一,我并不是你的脚本不好.
你说维护方便?我不知道方便在那?


我认为,将所有要启动的脚本直接写入rc.local并不是一个好的方法,因为那样,整个rc.local显得庞大而凌乱,影响其他要加载的服务!

就像JAVA开发,按照软件工程的放大,一个.java文件,超过1000行的.java是不科学的,尽量将其他的函数写到另外一个.java文件。
题外话:)

发帖
2016
C币
-235786
威望
365
贡献值
1
银元
-2
铜钱
4486
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13


QUOTE:原帖由 "platinum" 发表:

嗯,我看完了,为什么不能执行我没有细看,但我想说几点
1、这篇文章很多是从网上东拼西凑过来的,一些冗余和错误观点也一起过来了,应用时候要注意一些地方
2、里面用到了很多需要将 netfilter 打补丁后才能用的..........



                
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个