2010年10月28日星期四

iptables配置实例





1、只允许在192.168.62.1上使用ssh远程登录,从其它计算机上禁止使用ssh
#iptables -A INPUT -s 192.168.62.1 -p tcp --dport 22 -j ACCEPT
#iptables -A INPUT -p tcp --dport 22 -j DROP

2、禁止本机代理服务
#iptables -A INPUT -p tcp --dport 3128 -j REJECT

3、除192.168.62.1外,禁止其它人ping我的主机
#iptables -A INPUT -i eth0 -s 192.168.62.1/32 -p icmp -m icmp --icmp-type echo-request -j ACCEPT
#iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request –j DROP


#iptables -A INPUT -i eth0 -s 192.168.62.1/32 -p icmp -m icmp --icmp-type 8 -j ACCEPT
#iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j DROP

4、DNAT和SNAT。

iptables3.jpg
#echo 1 > /proc/sys/net/ipv4/ip_forward


#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 202.96.134.130:80
#iptables -t nat -A PREROUTING -i eth0 -p udp --dport 80 -j DNAT --to-destination 202.96.134.130:80

#iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 80 -s 192.168.52.0/24 -j SNAT --to-source 202.96.134.10:20000-30000
#iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 80 -s 192.168.52.0/24 -j SNAT --to-source 202.96.134.10:20000-30000

5、发布内部网络服务器

ip_interserver.JPG.jpg


要使因特网上的计算机访问到内部网的FTP服务器、WEB服务器,在做为防火墙的计算机上应添加以下规则:
#echo 1 > /proc/sys/net/ipv4/ip_forward

#发布内部web服务器
#iptables -t nat -A PREROUTING -p tcp -i eth1 -s 202.96.134.0/24 --dport 80 -j DNAT --to-destination 192.168.52.15:80
#iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.52.15 --sport 80 -j SNAT --to-source 202.96.134.10:20000-30000

发布内部网ftp服务器
iptables -t nat -A PREROUTING -p tcp -i eth1 -s 202.96.134.0/24 --dport 21 -j DNAT --to-destination 192.168.52.14:21
iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.52.14 --sport 21 -j SNAT --to-source 202.96.134.10:40000-50000  


标签: ,


2010年10月26日星期二

iptables相关

1. 对规则的操作
加入(append) 一个新规则到一个链 (-A)的最后。
在链内某个位置插入(insert) 一个新规则(-I),通常是插在最前面。
在链内某个位置替换(replace) 一条规则 (-R)。
在链内某个位置删除(delete) 一条规则 (-D)。
删除(delete) 链内第一条规则 (-D)。

2. 指定源地址和目的地址
通过--source/--src/-s来指定源地址(这里的/表示或者的意思,下同),
通过--destination/--dst/-d来指定目的地址。可以使用以下四中方法来指定ip地址:

a. 使用完整的域名,如 www.linuxaid.com.cn
b. 使用ip地址,如 192.168.1.1
c. 用x.x.x.x/x.x.x.x指定一个网络地址,如 192.168.1.0/255.255.255.0
d. 用x.x.x.x/x指定一个网络地址,如192.168.1.0/24这里的24表明了子网掩码的有效位数,这是 UNIX环境中通常使用的表示方法。

缺省的子网掩码数是32,也就是说指定192.168.1.1等效于192.168.1.1/32。

3. 指定网络接口

可以使用--in-interface/-i或--out-interface/-o来指定网络接口。从NAT的原理可以看出,对于PREROUTING链,我们只能用-i指定进来的网络接口;而对于POSTROUTING和OUTPUT我们只能用-o指定出去的网络接口。

-i:可以用于INPUT、FORWARD、PREROUTING链。
-o:可用于FORWARD、OUTPUT、POSTROUTING链。



4. 指定协议及端口

可以通过--protocol/-p选项来指定协议,如果是udp和tcp协议,还可--source-port/--sport和 --destination-port/--dport来指明端口。

5.
iptables -F -t nat:清除所有跟nat相关的规则
iptables -F:清除所有的规则。
iptables -X:清除指定的用户自定义chain。此时必须没有对该chain的引用。chain必须是空的,不包含任何规则。如果不给参数,就是删除所有table内非内置的规则。
iptables -Z:将所有chain的计数器清零。

iptables -P:为chain设置默认的target,可用的包括DROP和ACCEPT,这个target称为策略,所有不符合规则的包都被强制使用这个策略。
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

6、iptables中,目标规则REJECT和DROP的区别
DROP是丢弃,客户端得不到回应,REJECT拒绝并且返回包,客户端立即知道无法到达。

7、iptalbes不支持类似eth0:1这样的别名设备,可以尝试用别名设备的ip地址来进行控制。

标签:


This page is powered by Blogger. Isn't yours?

订阅 博文 [Atom]