文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux实践工程师学习笔记二十四

Linux实践工程师学习笔记二十四

时间:2007-01-09  来源:cyrich

实际配置防火墙时,首先将所有门都关闭,如将三条链的默认策略都改为DROP,再根据服务器需要一个端口一个端口地打开。首先需要分析这台服务器是干什么用的,假设只是一台提供http服务的Web服务器。

首先把服务器所有端口关闭,为了方便远程管理开一个22的端口,端口可以在/etc/services文件中查看。添加规则时分析一下数据包的格式,再确定规则参数。

#iptables -A INPUT -p tcp -d 192.168.0.22 --dport 22 -j ACCEPT

#iptables -A OUTPUT -p tcp -s 192.168.0.22 --sport 22 -j ACCEPT

注意通信的双向性,在INPUT添加一条规则,一般要在OUTPUT添加一条与之对应,所谓有出必有入。

#iptables -P INPUT DROP

#iptables -P OUTPUT DROP

#iptables -p FORWARD DROP

上面首先打开22端口,防止正在使用的远程管理断掉,再改变三条链的默认策略。

#iptables -A INPUT -p tcp --dport 80 -j ACCEPT

#iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

打开一个80端口,本机地址可省略

#service iptables save     保存劳动成果(保存规则)

将刚才添加的规则保存到/etc/sysconfig/iptables文件

或使用#iptables-save > /etc/sysconfig/iptables

系统启动时会加载这个文件中的规则。

现在服务器挡住所有服务,只开了两个端口80,22,对一台网络服务器来说,绝不能缺少DNS服务,任何联网的主机都需要做DNS请求,目前这台服务器还无法发送DNS请求。增加一条DNS通道,首先作为一台客户机出现:

#iptables -A OUTPUT -p udp --dpott 53 -j ACCEPT   首先经过OUTPUT链

#iptables -A INPUT -p udp --sport 53 -j ACCEPT      请求后得到回复数据雹,允许进入

测试#host fedora.cyrich.com

如出现无法解析,或很慢,则#more /etc/resolv.conf查看域名解析配置文件,看是否本机为DNS服务器,如果是还需添加一条规则,在规则时,应该分析这个数据包如何进出哪条链,以及这人数据包的格式,如上面#host fedora.cyrich.com因为本身作为DNS服务器,所以会发送一个包到自己,

192.168.0.22:*――>102.168.0.22:53   (允许)

但当时入INPUT链时,没有一条跟它匹配,所以会拒绝。所以如果同时作为DNS服务器和客户机,还需添加下面规则:

#iptables -A INPUT -p udp --dport 53 -j ACCEPT

#iptables -A OUTPUT -p udp --sport 53 -j ACCEPT

当同时作为某种服务的服务端和客户端时,需在规则中添加两条规则,即源端口和目标端口。

当前的规则设置忽略了本机的内部服务,在本机上有很多端口守护在127.0.0.1上,当本机的客户端访问回环设备时会拒绝。

127.0.0.1上的服务如不打开,会影响本机内部服务的正常运行,打开了也不会造成服务器什么危害,所以还是最好打开:

#iptables -A INPUT -s 127.0.0.1 -j ACCEPT

#iptables -A INPUT -d 127.0.0.1 -j ACCEPT

#service iptables save     (保存劳动成果)

 

经过FORWARD链的数据包不是发送给本机,而是发送给别人的,当作为路由器使用时才需配置FORWARD链。现配置一台路由器,如允许局域网用户浏览网页配置方法与INPUT.OUTPUT一样。

#iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT     允许局域网发送数据包

#iptables -A FORWARD -d 10.0.0.0/24 -j ACCEPT     允许局域网接收数据包

这样相当于把局域网和互联网打通了,任何包都可通过,在实际使用中可以加上端口,做些限制,过滤某些数据包,也可以使用LOG目标加进日志。其实光打开FORWARD链还不行,还需要打开内核的转发文件。

#echo 1 >/proc/sys/net/ipv4/ip_forward              (默认为0)

0表示关闭转发,1为启用,要永久启用,可修改配置文件/etc/sysctl.conf:

net.ipv4.ip_forward =1

如需访问互联网,这样的配置还不行,因为私有地址是无法直接访问互联网的,这里我们做NAT网络地址转换,这时网需两个地址,一个局域网的,一个互联网的,当收到访问互联网的包时,将源地址替换为互联网地址。

#iptables -t nat -L -n      查看nat表内容

相关阅读 更多 +
排行榜 更多 +
学习蜂

学习蜂

学习教育 下载
王牌战士大作战

王牌战士大作战

飞行射击 下载
哩咻漫画

哩咻漫画

浏览阅读 下载