使用NFS时在防火墙上要开放的端口

? 使用NFS时在防火墙上要开放的端口

在设置了防火墙的环境中使用NFS,需要在防火墙上打开如下端口: 1. portmap 端口 111 udp/tcp;

2. nfsd 端口 2049 udp/tcp;

3. mountd 端口 "xxx" udp/tcp

系统 RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768--65535)来进行通讯,我们可以通过编辑/etc/services 文件为 mountd指定一个固定端口:

# vi /etc/services 在末尾添加

mountd 1011/udp

mountd 1011/tcp

保存该文件

# stopsrc -s rpc.mountd # startsrc -s rpc.mountd

# exportfs -a

# rpcinfo -p Hostname

现在我们会发现 mountd已经和端口 1011绑定了。

另外,nfs中需要通讯的服务还有 rpc.lockd和 rpc.statd,其中对lockd我们可以用类似的方法来指定固定端口,

# vi /etc/services

添加

lockd 35000/ucp

lockd 35000/tdp

# stopsrc -s rpc.lockd

# startsrc -s rpc.lockd

# exportfs -a

nfs客户端mount文件系统

# rpcinfo -p Hostname

但 rpc.statd无法通过该方法来指定端口,它只能使用随机端口,如有必要,在防火墙上要根据下面命令的显示来开放随机端口:

# no -a |grep ephemeral

tcp_ephemeral_high = 65535

tcpp_ephemeral_low = 32768

udp_ephemeral_high = 65535

udp_ephemeral_low = 32768

当然也可以不开放 rpc.statd需要的随机端口,带来的影响就是如果 nfs连接中断(比如server或client宕掉了),系统将无法通过statd来恢复连接中断前的状态,而必须重新 mount该nfs文件系统。

 

第二篇:防火墙端口开放问题

建议将内网和服务器分开,使用不同的域,使用不同的规则。可以参考以下设置:

1.使用防火墙的3个接口(Interface),一个连接内网(以下简称LAN口),一个连接外网(以下简称内WAN口),一个连接服务器(以下简称DMZ口)。

其中内网使用网络地址转换(NAT)映射到外网口。配置好路由。

2.访问规则的设置

2.1 WAN -> LAN: 禁止所有端口。

2.2 LAN -> WAN: 开放所有端口。

2.3 WAN -> DMZ: 开放TCP80、TCP21、TCP25端口,开放ICMP服务。这里注意FTP服务器要使用PORT模式,后面会有讨论。

2.4 DMZ -> WAN: 开放所有端口。

2.5 LAN -> DMZ: 开放TCP80、TCP21、TCP25端口,开放ICMP服务。

2.6 DMZ -> LAN: 开放所有端口。

3.对内网的管理

以上设置对内网是没有管理的,允许内网用户使用所有Internet服务。若需要对内网用户进行管理,比如若允许内网用户访问WWW和SMTP服务器,可以在规则2.2中只开放TCP80、TCP443(为WWW开放)和TCP25(为SMTP开放)。但这样会对有些应用产生影响,比如BT(这样就禁止BT了,对管理者来说不是好事吗)。

4.评价与分析

这样设置在兼顾了内网和服务器的安全,若两者在一个区域内,则服务器的可用性会降低内网的安全性(因为对内网开放了一般用户不需要打开的几个端口),内网的可管理性又会影响服务器的可用性(因为关闭了服务器需要对外的随机端口)。

5.关于FTP的补充

FTP服务器有两种模式PORT和PASV,两者都有利弊,前者(PORT)允许服务器端的防火墙在规则2.3中只开放21端口便可提供FTP服务,但若客户端的防火墙使用了NAT,则无法正常下载,只能获取文件列表;后者(PASV)可以供防火墙使用了NAT的客户端访问并下载,但需要在规则2.3中开放大量的随机端口,大大降低了服务器的安全性。两种模式在可用性和安全性上都有不小的缺陷,但这是FTP协议设计的问题,没有什么好办法。目前一般的FTP服务器使用的都是PORT模式。

相关推荐