[原创]Iptables规则及启动。

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
networker
帖子: 419
注册时间: 2006-02-06 21:06
来自: Shanghai,China
联系:

[原创]Iptables规则及启动。

#1

帖子 networker » 2006-06-14 11:00

看到大家在讨论防火墙的问题。所以自己写了些规则,帖出来和大家分享。
jerry@Ubuntu:~$ cat /etc/init.d/iptables.2006.06.08

代码: 全选

#!/bin/bash
#       This program is used to use start my iptables.
#History :
#     Sat Jun 17 23:22:01 CST 2006    Jerry    Second realease
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:~/bin
export PATH

case "$1" in
start)
        echo -n "Staring to write your Iptbales:..."
        /sbin/iptables -P INPUT DROP
        /sbin/iptables -P OUTPUT ACCEPT
        /sbin/iptables -A INPUT -i lo -j ACCEPT
        /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
        /sbin/iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 77 -j ACCEPT       ssh服务,默认22
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
        /sbin/iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
        /sbin/iptables -A INPUT -p all -m state --state INVALID,NEW -j DROP
        echo "Ok"

;;
stop)
        echo -n "Cleaning your Iptables:..."
        /sbin/iptables -F
        /sbin/iptables -X
        /sbin/iptables -Z
        echo "Ok"
;;
restart)
        echo -n "Cleaning your Iptables:..."
        /sbin/iptables -F
        /sbin/iptables -X
        /sbin/iptables -Z
        echo "Ok"
        echo -n "Staring to write your Iptbales:..."
        /sbin/iptables -P INPUT DROP
        /sbin/iptables -P OUTPUT ACCEPT
        /sbin/iptables -A INPUT -i lo -j ACCEPT
        /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
        /sbin/iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 77 -j ACCEPT       
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
        /sbin/iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
        /sbin/iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
        /sbin/iptables -A INPUT -p all -m state --state INVALID,NEW -j DROP
        echo "Ok"
;;
*)
        echo "Usage: $0          {start|stop|restart}"
esac

exit 0

大家注意到了文件的位置,把它当成服务来写了。如果要使用接下面步骤:
sudo chmod +x /etc/init.d/iptables.2006.06.08 加上可执行
sudo ln -s /etc/init.d/iptables.2006.06.08 /etc/rcS.d/S42iptables.2006.06.08
这样开机就能自己启动了。当然你也可以把它当服务启动
jerry@Ubuntu:~$ sudo /etc/init.d/iptables.2006.06.08 start
Staring to write your Iptbales:...Ok
jerry@Ubuntu:~$ sudo iptables -L -n 检查规则。
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:77
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:110
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID,NEW


Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


==================================================================================================
当然这里的规则写的不是很全,希望大家提出及修改。
上次由 networker 在 2006-06-17 23:26,总共编辑 3 次。
头像
oneleaf
论坛管理员
帖子: 10441
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

#2

帖子 oneleaf » 2006-06-17 11:52

谢谢楼主分享,不过如果楼主尝试一下shorewall,也会觉得不错的。
networker
帖子: 419
注册时间: 2006-02-06 21:06
来自: Shanghai,China
联系:

#3

帖子 networker » 2006-06-17 17:34

shorewall这个东西看了好久没看明白,所以就改用iptables.
networker
帖子: 419
注册时间: 2006-02-06 21:06
来自: Shanghai,China
联系:

#4

帖子 networker » 2006-06-17 23:22

第2次的修改。原来写的不够完善~
请大家给意见。
tsunli
帖子: 66
注册时间: 2005-05-25 0:10

iptables

#5

帖子 tsunli » 2006-06-24 13:42

其实不用那么复杂的。
/sbin/iptables -A INPUT -p all -m state --state INVALID,NEW -j DROP 可能有问题。
去掉NEW
头像
seabee
帖子: 243
注册时间: 2006-11-08 13:02

#6

帖子 seabee » 2007-05-11 1:17

代码: 全选

#! /bin/sh
#     This program is used to use start my iptables. 
#History : 
#    May 11 00:45:59 CST 2007     comet    1st
PATH=/sbin:/bin:/usr/sbin:/usr/bin
Localip=172.18.11.211

case "$1" in
  start) 
        echo -n "Staring to write your Iptbales:..." 
        /sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 6000 -j DNAT --to-destination $Localip:5900
        echo "Ok" 

;; 
  stop) 
        echo -n "Cleaning your Iptables:..." 
        /sbin/iptables -F 
        /sbin/iptables -X 
        /sbin/iptables -Z 
        echo "Ok" 
;; 
  restart) 
        echo -n "Cleaning your Iptables:..." 
        /sbin/iptables -F 
        /sbin/iptables -X 
        /sbin/iptables -Z 
        echo "Ok" 
        echo -n "Staring to write your Iptbales:..." 
        /sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 6000 -j DNAT --to-destination $Localip:5900
        echo "Ok" 
;; 
*) 
        echo "Usage: $0          {start|stop|restart}" 
esac 

exit 0 


保存为 /etc/init.d/iptables070511 ,也加了运行的权限,但是还是提示
comet@officeu:/etc/init.d$ sudo iptables070511
sudo: iptables070511: command not found
简简单单的生活,自自然然的我~www.3gcomet.com
头像
seabee
帖子: 243
注册时间: 2006-11-08 13:02

#7

帖子 seabee » 2007-09-08 23:04

自己搞掂了。
sudo ./iptables070511
这样就行
简简单单的生活,自自然然的我~www.3gcomet.com
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

#8

帖子 冲浪板 » 2007-09-09 8:29

最好来个有速度控制的例子,网络上的帖子一个抄一个,可恨头一个句说的不明不白的
magiciany
帖子: 393
注册时间: 2007-04-25 11:49

#9

帖子 magiciany » 2007-09-09 11:59

77口什么作用??
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

#10

帖子 冲浪板 » 2007-09-09 12:24

cat /etc/services

btw:他自己聪明,给改77了,默认22
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

Re: [原创]Iptables规则及启动。

#11

帖子 Jarson » 2009-03-05 18:34

好脚本 :em11
knowfarway
帖子: 877
注册时间: 2007-08-25 10:37

Re: [原创]Iptables规则及启动。

#12

帖子 knowfarway » 2009-03-05 21:17

现在还看不懂。。
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: [原创]Iptables规则及启动。

#13

帖子 lerosua » 2009-03-05 21:27

复杂,先记下 :em06
gujian126
帖子: 30
注册时间: 2010-03-22 10:42

Re: [原创]Iptables规则及启动。

#14

帖子 gujian126 » 2010-05-15 14:53

如果只是简单的启用IPtables呢。?
回复