LinuxSir.cn,穿越时空的Linuxsir!

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

通过NFS安装Linux系统的问题

[复制链接]
发表于 2005-3-31 22:21:31 | 显示全部楼层 |阅读模式
想通过网络安装RHEL4,网络环境是这样子的:
有几台机器搭建为一个局域网,设置网关为192.168.1.1, 要安装系统的目标机位于局域网内部,RHEL4的安装iso文件放到局域网外部的一台机器上,其机器地址为172.12.*.a, 通过traceroute可以发现从目标机到放置安装文件的机器要通过两个网关,其中第一个为192.168.1.1,另一个为172.12.*.b。
从安装image启动后,加载网卡驱动,选择nfs安装,设置目标机的ip地址,如192.168.1.12, 网关192.168.1.1等等。并制定nfs服务器的地址172.12.*.a,及服务器export出来的目录。结果发现出错,报告我说RPC time out,怀疑是网关192.168.1.1的问题, 于是我在两台网关的中间另外启动了一台机器做nfs服务,并将安装过程中的NFS服务器指到这台新开的服务器上,结果可以正常安装。
再而怀疑是第二个网关172.12.*.b的问题,但是我在两个网关中间的一台机器上可以通过原来的
NFS服务器(172.12.*.a)那台正常完成安装。
问题变得很奇怪,就是安装是需要通过两个网关就无法正常进行,而安装的目标机于服务器中间只有一个网关的话,则可以正常进行,不知哪位可以提供一些意见?解决通过两个网关用NFS进行安装?

另外,在局域网内部已经安装好的机器上,有部分机器可以使用mount命令加载172.12.*.a上的NFS,但有的机器不行,通过在网关上执行tcpdump可以发现不行的都是发送udp包,并可以看到包从eth1(连接外部172.12.*.*的)发出去了。于是使用mount的 -o udp选项,结果任何一台机器都不能完成mount,全部都是RPC time out的错误,在mount不上的机器上使用 -o tcp选项时,给出的错误是 server down, 很诡异的情况。所有执行mount的机器本身的防火墙都已全部关闭。

192.68.1.*内部的机器可以通过 -o udp的方式mount 到两个网关中间的那台NFS服务器上,就是不能同时通过两个网关,之所以如此关注udp方式,是因为Linux的默认是这种方式,网络安装的时候就是用的udp方式。

192.168.1.1外部的机器都可以使用 -o udp方式mount到172.12.*.a这台机器上。问题很可能在192.168.1.1这台机器上,附上这个机器的iptables -L 及 iptables -t nat -L -nv的结果:

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

iptalbes -t nat -L -nv

Chain PREROUTING (policy ACCEPT 86580 packets, 15M bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1006 to:192.168.1.3:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1007 to:192.168.1.3:23
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1008 to:192.168.1.4:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1009 to:192.168.1.4:23
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1010 to:192.168.1.5:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1011 to:192.168.1.5:23
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1012 to:192.168.1.6:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1013 to:192.168.1.6:23
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1014 to:192.168.1.7:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1015 to:192.168.1.7:23
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1016 to:192.168.1.8:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1017 to:192.168.1.8:23
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1018 to:192.168.1.9:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1019 to:192.168.1.9:23
1 48 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1020 to:192.168.1.10:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1021 to:192.168.1.10:23
62 3976 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1022 to:192.168.1.11:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1023 to:192.168.1.11:23
1 60 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1024 to:192.168.1.12:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1025 to:192.168.1.12:23
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1026 to:192.168.1.13:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1027 to:192.168.1.13:23
182 11108 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1028 to:192.168.1.14:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1029 to:192.168.1.14:23
31 1572 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1030 to:192.168.1.15:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1031 to:192.168.1.15:23
21 1128 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1032 to:192.168.1.16:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1033 to:192.168.1.16:23
2 96 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1034 to:192.168.1.17:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1035 to:192.168.1.17:23
6 324 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1036 to:192.168.1.18:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1037 to:192.168.1.18:23
6 348 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1038 to:192.168.1.19:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1039 to:192.168.1.19:23
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1040 to:192.168.1.20:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1041 to:192.168.1.20:23
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1042 to:192.168.1.21:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1043 to:192.168.1.21:23
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1044 to:192.168.1.22:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1045 to:192.168.1.22:23
..........................................
....................................

0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1258 to:192.168.1.129:22
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1259 to:192.168.1.129:23

Chain POSTROUTING (policy ACCEPT 65760 packets, 4610K bytes)
pkts bytes target prot opt in out source destination
11114 730K MASQUERADE all -- * eth1 192.168.1.0/24 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 7121 packets, 323K bytes)
pkts bytes target prot opt in out source destination
发表于 2005-4-3 14:03:04 | 显示全部楼层
在局域网内部已经安装好的机器上,有部分机器可以使用mount命令加载172.12.*.a上的NFS,但有的机器不行,通过在网关上执行tcpdump可以发现不行的都是发送udp包,并可以看到包从eth1(连接外部172.12.*.*的)发出去了。于是使用mount的 -o udp选项,结果任何一台机器都不能完成mount,全部都是RPC time out的错误,在mount不上的机器上使用 -o tcp选项时,给出的错误是 server down, 很诡异的情况。所有执行mount的机器本身的防火墙都已全部关闭。

好!
请配置 NFS server(Linux 系统)中/etc/exports  文件;
/etc/exports 文件是 NFS server 最基础的配置文件;
设置/etc/exports 访问权限控制(四种方法):
如client 的IP 、网段、网络组、主机名。

运行 exportfs 让 NFS 服务器更新 客户机信息。

NFS 安装 linux 与网关无关。
OK!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-5 16:05:34 | 显示全部楼层

问题的确是经过两个网关就不行

在两个网关中间可以mount 到NFS 服务器的,也可以通过那个NFS服务器进行安装,但是在增加一个网关就不行。NFS 安装要是于网关无关,为什么再过一个网关就不行呢?网络的拓扑结构不是我可以随便改的。
回复 支持 反对

使用道具 举报

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

本版积分规则

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