文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>配置iptables静态防火墙

配置iptables静态防火墙

时间:2007-04-03  来源:anyager

配置iptables静态防火墙

1、初始化防火墙
在shell提示符#下键入:

iptables -F
iptables -X
iptables -Z

利用iptables设置你自己的防火墙之前,首先要清除所有以前设置的规则。

2、设置规则:
2.1、设置默认策略

iptables -P INPUT DROP

这一条命令将阻止所有从网络进入计算机的数据包丢弃(drop)。此时,如果你ping 127.0.0.1,你就会发现屏幕一直停在那里,因为ping收不到任何应答数据包。

2.2、创建用户自定义的链

iptables -N MYINPUT
iptables -N MYDROPLOG

2.3 、添加规则

iptables -A INPUT -j MYINPUT

这条规则将所有进入计算机的包转发到自定义的链进行过滤。

iptables -A MYINPUT -p icmp -j ACCEPT

此时再输入命令 ping 127.0.0.1,结果还会和刚才一样吗?

如果要访问www服务

iptables -A MYINPUT -p tcp --sport 80 -j ACCEPT

这条规则允许来自网络并且源端口是80的数据进入计算机。80端口正是www服务所使用的端口。现在可以看网页了。但是,如果你在浏览器的地址中输入www.baidu.com,能看到网页吗?你得到的结果一定是:找不到主机www.baidu.com。如果你再输入211.94.144.100,你仍然能够访问baidu的网页。为什么?因为如果访问www.baidu.com,计算机需要先进行域名解析获取www.baidu.com对应的ip地址211.94.144.100才能正常访问。我们还需要打开DNS。

iptables -A MYINPUT -p udp --sport 53 -j ACCEPT

这条规则接受所有UDP协议53端口的数据。53正是DNS服务所用的端口。此时测试一下,你能通过域名访问www吗?你能通过ip访问www吗?当然,都可以!

丢弃其他的所有网络数据包

iptables -A MYINPUT -j MYDROPLOG
iptables -A MYDROPLOG -j DROP

2.4、记录日志

iptables -I MYDROPLOG 1 -j LOG --log-prefix '[IPTABLES DROP LOGS]:' --log-level debug

这样所有被丢弃的网络数据包都被记录下来了,访问网络的详细信息可以查看日志。至此,一个安全的个人静态防火墙已经构建,可以根据访问网络的具体需求再次配置防火墙,满足各种需求。

3、查看防火墙
此时可以查看防火墙了

iptables -L --line-number

可以将上面的实验内容总结一下,写成一个脚本。

#!/bin/bash
# This is a script of
# a personal static firewall

iptables -F
iptables -X
iptables -Z
iptables -P INPUT DROP
iptables -N MYINPUT
iptables -N MYDROPLOG
iptables -A INPUT -j MYINPUT
iptables -A MYINPUT -p icmp -j ACCEPT
iptables -A MYINPUT -p tcp --sport 80 -j ACCEPT
iptables -A MYINPUT -p udp --sport 53 -j ACCEPT
iptables -A MYINPUT -j MYDROPLOG
iptables -A MYDROPLOG -j DROP
iptables -I MYDROPLOG 1 -j LOG --log-prefix '[IPTABLES DROP LOGS]:' --log-level debug
iptables -L --line-number

运行脚本快速实现自己的防火墙。
排行榜 更多 +
爱变幻智能清理

爱变幻智能清理

游戏工具 下载
MIYI泊松足球

MIYI泊松足球

浏览阅读 下载
Edius剪视频

Edius剪视频

图像拍照 下载