[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: system/1424: hang on NFS-mount
use the -c parameter with mount_nfs(8) to get around this.
On Thu, 28 Sep 2000, Adrian Knoth wrote:
//
//>Number: 1424
//>Category: system
//>Synopsis: hang on mount_nfs for multi-IP-hosts
//>Confidential: no
//>Severity: serious
//>Priority: low
//>Responsible: bugs
//>State: open
//>Class: sw-bug
//>Submitter-Id: net
//>Arrival-Date: Thu Sep 28 22:20:01 MDT 2000
//>Last-Modified:
//>Originator: Adrian Knoth
//>Organization:
//>Release: OpenBSD 2.7 with 2.8-kernel
//>Environment:
//
// System : OpenBSD 2.8
// Architecture: OpenBSD.i386
// Machine : i386
//>Description:
//
//I tried to mount an NFS-directory from a Linux-Box which is acting
//as a router, those having 2 IPs.
//
//I only mentioned one of the IPs in /etc/hosts, unfortunately the
//one of the "wrong side", so to say the IP of the host for the
//other network.
//
//The Linux-Box probably answered with the my-side-IP and by this
//confused OpenBSD.
//
//mount could be canceld by C-c, but mount_nfs stayed in "D", I
//guess this is uninteruptable sleep.
//
//A second NFS-mount (to the same host) then "kills" the system:
//VTs are still able to reach, but no command is executed, login
//won't work any longer, no ls and so on. Every file-access
//is impossible.
//
//ctrl-alt-del also doesn't work -> hard reboot.
//
//>How-To-Repeat:
// it's easy: take a host with two IPs, e.g. here:
//
//192.168.1.10 trabsoft trabsoft.bb.thur.de
//192.168.3.2 trabsoft trabsoft.bb.thur.de
//
//make sure the second IP (192.168.3.2) is the one at your cable.
//
//now try to mount a directory from this server:
//
//mount trabsoft:/foo /mnt
//
//that's all. Interrupt with C-c, try a next time and your FS will
//hang completely.
//
//>Fix:
//
//The my-side-IP has to be first mentioned in /etc/hosts, so mount
//takes it and all works fine. The same way if you provide mount
//with the my-side-IP. In the example above you'd have to swap the
//two lines.
//
//--- weak guessing below ---
//But this is not a nice solution. Linux doesn't get confused by
//a "wrong IP", so a real should be implemented.
//
//I guess it's a security-problem if the "wrong IP" answers the request,
//but a solution would be to compare this IP with all other matchings
//in /etc/hosts.
//
//>Audit-Trail:
//>Unformatted:
//X-sendbug-version: 3.97
//
//