LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 7379|回复: 13

请问iptables中关于NFS端口的设置

[复制链接]
发表于 2006-4-20 16:11:40 | 显示全部楼层 |阅读模式
请问要访问nfs server,在nfs server上用iptables设规则要开哪些端口?我把policy已经设置为drop了。是不是portmap会动态分配端口所以没法设置固定的开放端口?
发表于 2006-4-20 18:34:11 | 显示全部楼层
编辑/etc/sysconfig/nfs (默认是没有这个文件的)加入
LOCKD_TCPPORT=2049
LOCKD_UDPPORT=2049
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-21 08:49:23 | 显示全部楼层
谢谢老师!我过下试试,因为现在又出现了这个问题。一开始都好好的,后来service nfs restart几次后就不行了,重启机器也不行。问题如下:
[root@nat script]# service nfslock start
[root@nat script]# service nfslock status
rpc.statd 已停
[root@nat script]# service nfslock restart
停止 NFS statd: [失败]
启动 NFS statd: [确定]
[root@nat script]# service nfslock status
rpc.statd 已停
好像nfslock启动后马上就停止了,所有后来我启动nfs也出错,如下:
NFS mountd: Cannot register service: RPC: Unable to send; errno = Operation not permitted
请老师再帮忙看看。
回复 支持 反对

使用道具 举报

发表于 2006-4-21 10:34:32 | 显示全部楼层
启动你的portmap服务!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-21 11:32:24 | 显示全部楼层
谢谢老师!启动的问题找到了,是因为我的iptables的问题,因为我默认是drop的,但没加上本地的访问,后来我加上以下的就好了。
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
可是第一个问题还是存在,nfs文件已有了。
[root@nat script]# cat /etc/sysconfig/nfs
LOCKD_TCPPORT=2049
LOCKD_UDPPORT=2049
我从10.10.70.134上showmount -e 10.10.70.9时同时在10.10.70.134上执行tcpdump host 10.10.70.9,发现要访问别的端口,结果如下:
[root@dcbak ~]# tcpdump host 10.10.70.9
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
11:22:29.401811 IP 10.10.70.134.hmmp-ind > 10.10.70.9.sunrpc: S 1205463378:1205463378(0) win 5840 <mss 1460,sackOK,timestamp 67374765 0,nop,wscale 2>
11:22:29.402116 IP 10.10.70.9.sunrpc > 10.10.70.134.hmmp-ind: S 928463441:928463441(0) ack 1205463379 win 5792 <mss 1460,sackOK,timestamp 64966927 67374765,nop,wscale 2>
11:22:29.402134 IP 10.10.70.134.hmmp-ind > 10.10.70.9.sunrpc: . ack 1 win 1460 <nop,nop,timestamp 67374765 64966927>
11:22:29.402188 IP 10.10.70.134.hmmp-ind > 10.10.70.9.sunrpc: P 1:61(60) ack 1 win 1460 <nop,nop,timestamp 67374765 64966927>
11:22:29.402412 IP 10.10.70.9.sunrpc > 10.10.70.134.hmmp-ind: . ack 61 win 1448 <nop,nop,timestamp 64966928 67374765>
11:22:29.403195 IP 10.10.70.9.sunrpc > 10.10.70.134.hmmp-ind: P 1:33(32) ack 61 win 1448 <nop,nop,timestamp 64966928 67374765>
11:22:29.403204 IP 10.10.70.134.hmmp-ind > 10.10.70.9.sunrpc: . ack 33 win 1460 <nop,nop,timestamp 67374766 64966928>
11:22:29.403301 IP 10.10.70.134.hmmp-ind > 10.10.70.9.sunrpc: F 61:61(0) ack 33 win 1460 <nop,nop,timestamp 67374767 64966928>
11:22:29.403387 IP 10.10.70.134.613 > 10.10.70.9.661: S 1203289733:1203289733(0) win 5840 <mss 1460,sackOK,timestamp 67374767 0,nop,wscale 2>
11:22:29.403652 IP 10.10.70.9.sunrpc > 10.10.70.134.hmmp-ind: F 33:33(0) ack 62 win 1448 <nop,nop,timestamp 64966929 67374767>
11:22:29.403660 IP 10.10.70.134.hmmp-ind > 10.10.70.9.sunrpc: . ack 34 win 1460 <nop,nop,timestamp 67374767 64966929>
11:22:32.403640 IP 10.10.70.134.613 > 10.10.70.9.661: S 1203289733:1203289733(0) win 5840 <mss 1460,sackOK,timestamp 67377767 0,nop,wscale 2>
11:22:38.402439 IP 10.10.70.134.613 > 10.10.70.9.661: S 1203289733:1203289733(0) win 5840 <mss 1460,sackOK,timestamp 67383767 0,nop,wscale 2>
11:22:50.401037 IP 10.10.70.134.613 > 10.10.70.9.661: S 1203289733:1203289733(0) win 5840 <mss 1460,sackOK,timestamp 67395767 0,nop,wscale 2>
11:23:14.397244 IP 10.10.70.134.613 > 10.10.70.9.661: S 1203289733:1203289733(0) win 5840 <mss 1460,sackOK,timestamp 67419767 0,nop,wscale 2>
11:23:19.396237 arp who-has 10.10.70.9 tell 10.10.70.134
11:23:19.396377 arp reply 10.10.70.9 is-at 00:02:b3:26:a3:d7
11:24:02.389644 IP 10.10.70.134.613 > 10.10.70.9.661: S 1203289733:1203289733(0) win 5840 <mss 1460,sackOK,timestamp 67467767 0,nop,wscale 2>
11:25:38.376439 arp who-has 10.10.70.9 tell 10.10.70.134
11:25:38.376590 arp reply 10.10.70.9 is-at 00:02:b3:26:a3:d7
11:25:38.376597 IP 10.10.70.134.614 > 10.10.70.9.sunrpc: UDP, length 56
11:25:38.377462 IP 10.10.70.9.sunrpc > 10.10.70.134.614: UDP, length 28
11:25:38.377551 IP 10.10.70.134.615 > 10.10.70.9.658: UDP, length 96
11:25:41.378954 IP 10.10.70.134.615 > 10.10.70.9.658: UDP, length 96
11:25:43.375908 arp who-has 10.10.70.134 tell 10.10.70.9
11:25:43.375916 arp reply 10.10.70.134 is-at 00:0f:20:6d:ba:a6
11:25:44.379314 IP 10.10.70.134.615 > 10.10.70.9.658: UDP, length 96
11:25:47.379706 IP 10.10.70.134.615 > 10.10.70.9.658: UDP, length 96
11:25:50.380104 IP 10.10.70.134.615 > 10.10.70.9.658: UDP, length 96
11:25:53.380505 IP 10.10.70.134.615 > 10.10.70.9.658: UDP, length 96
11:25:56.380906 IP 10.10.70.134.615 > 10.10.70.9.658: UDP, length 96

31 packets captured
31 packets received by filter
0 packets dropped by kernel

直到:
[root@dcbak ~]# showmount -e 10.10.70.9
rpc mount export: RPC: Timed out
我在10.10.70.9上的iptables中已经开放了tcp和udp的111和2049端口。但没开放658和661端口,我发现每次重启nfs后,访问的又不是658和661这几个端口。有什么好的办法吗?
回复 支持 反对

使用道具 举报

发表于 2006-4-21 15:26:02 | 显示全部楼层
把网络机构图画出来,我看不懂你的C-S结构!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-21 16:00:31 | 显示全部楼层
共以下2台机器
主机nat:
10.10.70.9/24
配置了NFS,用iptables设置了一些规则。
主机dcbak:
10.10.70.134/24
iptables没启动
一个控制台执行tcpdump host 10.10.70.9抓包
另一个控制台执行showmount -e 10.10.70.9
2台机器在一个网段。
回复 支持 反对

使用道具 举报

发表于 2006-4-21 20:26:20 | 显示全部楼层
再在/etc/sysconfig/nfs加上
MOUNTD_PORT=815
然后开发这个端口
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-24 08:39:16 | 显示全部楼层
谢谢老师!!!照老师说的,终于成功了。
我发现/etc/sysconfig/nfs有MOUNTD_PORT=815就够了,2049端口好像是默认的。开放的端口是tcp的111,815,2049,为什么不用开放udp的也可以呢?
回复 支持 反对

使用道具 举报

发表于 2006-4-24 09:30:04 | 显示全部楼层
815 是一个什么端口?随便定义都可以的吧。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表