北京北大青鸟:Linux的iptables入门教程--设置静态防火墙之一


北京北大青鸟通州校区学术部提供:

1、iptables介绍
  iptables是复杂的,它集成到linux内核中。用户通过iptables,可以对进出你的计算机的数据包进行过滤。通过iptables命令设置你的规则,来把守你的计算机网络──哪些数据允许通过,哪些不能通过,哪些通过的数据进行记录(log)。接下来,(北京北大青鸟)老师将告诉你如何设置自己的规则,从现在就开始吧。(北京北大青鸟

2、初始化工作
在shell提示符 # 下打入
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
  以上每一个命令都有它确切的含义。一般设置你的iptables之前,首先要清除所有以前设置的规则,我们就把它叫做初始化好了。虽然很多情况下它什么也不做,但是保险起见,不妨小心一点吧! 如果你用的是redhat 或fedora,那么你有更简单的办法  (北京北大青鸟
service iptables stop

3、开始设置规则:
接下下开始设置你的规则了
iptables -P INPUT DROP
这一条命令将会为你构建一个非常“安全”的防火墙,我很难想象有哪个hacker能攻破这样的机器,因为它将所有从网络进入你机器的数据丢弃(drop)了。这当然是安全过头了,此时你的机器将相当于没有网络。如果你ping localhost,你就会发现屏幕一直停在那里,因为ping收不到任何回应。(北京北大青鸟

4 、添加规则
接着上文继续输入命令:
iptables -A INPUT -i ! ppp0 -j ACCEPT
这条规则的意思是:接受所有的,来源不是网络接口ppp0的数据。
我们假设你有两个网络接口,eth0连接局域网,loop是回环网(localhost)。ppp0是一般的adsl上网的internet网络接口,如果你不是这种上网方式,那则有可能是eth1。在此我假设你是adsl上网,你的internet接口是ppp0。(北京北大青鸟)
此时你即允许了局域网的访问,你也可以访问localhost
此时再输入命令 ping localhost,结果还会和刚才一样吗?
到此我们还不能访问www,也不能mail,接着看吧。(北京北大青鸟

5、我想访问www
iptables -A INPUT -i ppp0 -p tcp -sport 80 -j ACCEPT
允许来自网络接口ppp0(internet接口),并且来源端口是80的数据进入你的计算机。
80端口正是www服务所使用的端口。
好了,现在可以看网页了。但是,你能看到吗?
如果你在浏览器的地址中输入
www.baidu.com
,能看到网页吗?
你得到的结果一定是:找不到主机
www.baidu.com
但是,如果你再输入220.181.27.5,你仍然能够访问baidu的网页。
为什么?如果你了解dns的话就一定知道原因了。
因为如果你打入www.baidu.com,你的电脑无法取得www.baidu.com这个名称所能应的ip地址220.181.27.5。如果你确实记得这个ip,那么你仍然能够访问www,你当然可以只用ip来访问www,如果你想挑战你的记忆的话^ _ ^,当然,我们要打开DNS。(北京北大青鸟)(未完待续)

北大青鸟网上报名
北大青鸟招生简章