Всем доброго дня. Столкнулся с проблемой, не знаю уже куда копать. И так
Есть серверы на FreeBSD 10.1 (5.5.5.1) и Ubuntu 15.04 (5.5.5.2)
Задача сделать PXE загрузку бездисковой станции.
На фре - dhcp, tftp-hpa через inetd, nfs, ядро штатное generic, фаервола нет
На убунте - то же самое
Условие 1
Загрузка и все настройки сделаны на сервер фри. Загрузка убунты на бездисковый клиент затыкается на сообщении
NFS over TCP not available from 5.5.5.1
connect: network is unreachable
connect: permission denieddhcpd.conf
default-lease-time 600;
max-lease-time 7200;
ddns-update-style interim;
ddns-domainname "pxe";
ignore client-updates;authoritative;
key DHCP_UPDATER {
algorithm hmac-md5;
secret "mzFTqfiyQEwD/XSnTD+KWg==";
};
zone pxe.{
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 5.5.5.in-addr.arpa.{
primary 127.0.0.1;
key DHCP_UPDATER;
}log-facility local7;
subnet 5.5.5.0 netmask 255.255.255.0 {
range 5.5.5.51 5.5.5.254;
option domain-name-servers 5.5.5.1;
option domain-name "pxe";
option broadcast-address 5.5.5.1;
option time-servers 5.5.5.1;
option ntp-servers 5.5.5.1;
default-lease-time 600;
max-lease-time 7200;
next-server 5.5.5.1;
filename "/usr/tftpboot/pxelinux.0";
}inetd.conf
tftp dgram udp wait root /usr/local/libexec/in.tftpd in.tftpd -p /usr/tftpboot -B 1024hosts.allow
rpcbind : ALL : allowexports
/usr/tftpboot/nfs/ubuntu -alldirs -maproot=root (ставил параметр -network 5.5.5.0/24 - никакого эффекта)rc.conf
mousechar_start="3"
keymap="ru.koi8-r"
font8x8="cp866-8x8"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
scrnmap="koi8-r2cp866"
hostname="freebsd.pxe"
ifconfig_em0="inet 192.168.1.20 netmask 255.255.255.0"
ifconfig_em1="inet 5.5.5.1 netmask 255.255.255.0"
defaultrouter="192.168.1.1"
sshd_enable="YES"
powerd_enable="YES"
dumpdev="NO" # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
inetd_enable="YES"
clear_tmp_enable="YES"
fsck_y_enable="YES"
update_motd="NO"
ntpd_enable="YES"
dhcpd_enable="YES" # dhcpd enabled?
dhcpd_flags="-q" # command option(s)
dhcpd_ifaces="em1" # ethernet interface(s)
nfs_server_enable="YES"
nfsv4_server_enable="YES"
nfs_server_flags="-u -t -n 40"
nfs_client_enable="YES"
rpcbind_enable="YES"
mountd_enable="YES"#sockstat | grep nfs
root nfsd 572 5 tcp4 *:2049 *:*
root nfsd 572 6 tcp6 *:2049 *:*
root nfsuserd 571 3 udp4 *:862 *:*
root nfsuserd 570 3 udp4 *:862 *:*
root nfsuserd 569 3 udp4 *:862 *:*
root nfsuserd 568 3 udp4 *:862 *:*
root nfsuserd 566 3 udp4 *:862 *:*(В порядке бреда) Подозрение на nfsuserd. Загрузчик убунты говорит что-то про инит nfsv4.1.
pxelinux.cfg/default
LABEL Ubuntu
MENU LABEL ^2 Ubuntu
KERNEL nfs/ubuntu/casper/vmlinuz
INITRD nfs/ubuntu/casper/initrd.lz
# APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=5.5.5.2:/usr/tftpboot/nfs/ubuntu splash=verbose ip=dhcp rw locale=ru_RU --
APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=5.5.5.1:/usr/tftpboot/nfs/ubuntu splash=verbose ip=dhcp rw locale=ru_RU --/usr/tftpboot/nfs/ubuntu - drwxr-xr-x root:wheel
Из windows нормально цепляюсь к nfs через NekoDrive (nfsv2/3).
Условие 2
переключен вызов nfs на сервер убунту
pxelinux.cfg/default
LABEL Ubuntu
MENU LABEL ^2 Ubuntu
KERNEL nfs/ubuntu/casper/vmlinuz
INITRD nfs/ubuntu/casper/initrd.lz
APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=5.5.5.2:/usr/tftpboot/nfs/ubuntu splash=verbose ip=dhcp rw locale=ru_RU --
# APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=5.5.5.1:/usr/tftpboot/nfs/ubuntu splash=verbose ip=dhcp rw locale=ru_RU --/usr/tftpboot/nfs/ubuntu - dr-xr-xr-x root:root
exports
/usr/tftpboot/nfs/ubuntu/ *(rw,sync,no_wdelay,insecure_locks,no_root_squash,insecure) (можно просто /usr/tftpboot/nfs/ubuntu/ *)При этом условии бездисковый клиент грузится нормально.
Чтобы не "телепатить" скажите, что из настроек/выводов показать.
Гугл поизучал, статеек почитал - решение не попалось.
Заранее благодарю.
Не вижу версии pxelinux на FreeBSD.
Добейтесь загрузки по PXE обыкновенного образа, а потом переходите к NFS.
> Не вижу версии pxelinux на FreeBSD.
> Добейтесь загрузки по PXE обыкновенного образа, а потом переходите к NFS.Обыкновенный образ нормально загружается (memdisk+образ, thinstation).
LABEL TS
MENU LABEL ^1 TS
kernel image/ts/vmlinuz
append initrd=image/ts/initrd_with_firefox ramdisk_size=524288 root=/dev/ram0 rw ip=dhcpВерсия pxelinux.0 4.04 2011-04-18.
Проделанный эксперимент наталкивает на вопрос, скорее, к nfs. Или нет?
Еще раз уточню. На с сервере убунту используется только nfs. Т.е. клиент получает dhcp и pxelinux с фри и потом nfs с сервера убунты - так работает.вдогонку
rpcinfo -p
program vers proto port service
100000 4 tcp 111 rpcbind
100000 3 tcp 111 rpcbind
100000 2 tcp 111 rpcbind
100000 4 udp 111 rpcbind
100000 3 udp 111 rpcbind
100000 2 udp 111 rpcbind
100000 4 local 111 rpcbind
100000 3 local 111 rpcbind
100000 2 local 111 rpcbind
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
man рулит:man 4 nfsv4
The NFSv4 protocol does not use a separate mount protocol and assumes
that the server provides a single file system tree structure, rooted at
the point in the local file system tree specified by one or moreV4: <rootdir> [-sec=secflavors] [host(s) or net]
а такжеSERVER SETUP
To set up the NFS server that supports NFSv4, you will need to either set
the variables in rc.conf(5) as follows:nfs_server_enable="YES"
nfsv4_server_enable="YES"
nfsuserd_enable="YES"
> а также
> SERVER SETUP
> To set up the NFS server that
> supports NFSv4, you will need to either set
> the variables in rc.conf(5) as follows:
> nfs_server_enable="YES"
> nfsv4_server_enable="YES"
> nfsuserd_enable="YES"Спасибо. man действительно рулит, но не помогает)
До V4: /usr/tftpboot/nfs/ (-network=5.5.5.0 -mask=255.255.255.0 можно и без) я тоже дошел. И до доп.параметров в rc.conf. Но увы.
Вот еще момент. Рабочий убунту сервер ни в какую не цепляет nfs-шару с фри по nfsv4.
#mount -t nfs -v 5.5.5.1:/usr/tftpboot/nfs/ubuntu /mnt
mount.nfs: timeout set for Sun Jun 21 20:04:43 2015
mount.nfs: trying text-based options 'vers=4,addr=5.5.5.1,clientaddr=5.5.5.2'
mount.nfs: mount(2): No such file or directory
mount.nfs: trying text-based options 'addr=5.5.5.1'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 5.5.5.1 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 5.5.5.1 prog 100005 vers 3 prot UDP port 769upd
rc.conf
netfs_types="nfs:NFS nfs4:NFS4 oldnfs:OLDNFS smbfs:SMB"
nfs_server_enable="YES"
nfsv4_server_enable="YES"
nfscbd_enable="YES"
nfsuserd_enable="YES"
nfs_server_flags="-u -t -n 6"
nfs_client_enable="YES"
rpcbind_enable="YES"
#rpc_statd_enable="YES"
#rpc_lockd_enable="YES"
mountd_enable="YES"exports
V4: /usr/tftpboot/nfs/ -network=5.5.5.0 -mask=255.255.255.0Повключено все.
с рабочего сервера убунту
# mount -t nfs -v 5.5.5.1:/usr/tftpboot/nfs /mnt
mount.nfs: timeout set for Mon Jun 22 21:24:03 2015
mount.nfs: trying text-based options 'vers=4,addr=5.5.5.1,clientaddr=5.5.5.2'
mount.nfs: mount(2): No such file or directory
mount.nfs: trying text-based options 'addr=5.5.5.1'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 5.5.5.1 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 5.5.5.1 prog 100005 vers 3 prot UDP port 971
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting 5.5.5.1:/usr/tftpboot/nfs
mount.nfs: mount(2): No such file or directory
mount.nfs: mount(2): Permission deniedПричину читать в /var/log/messages на фре
> mount.nfs: mount(2): No such file or directory
> mount.nfs: mount(2): Permission denied
> Причину читать в /var/log/messages на фретут ничего удивительного.
freebsd mountd[565]: mount request denied from 5.5.5.2 for /usr/tftpboot/nfs
это реакция на попытку убунты nfsv3
на фре же в exports
V4: /usr/tftpboot/nfs/ -network=5.5.5.0 -mask=255.255.255.0У вас работает nfsv4 на freebsd?
>> mount.nfs: mount(2): No such file or directory
>> mount.nfs: mount(2): Permission denied
>> Причину читать в /var/log/messages на фре
> тут ничего удивительного.
> freebsd mountd[565]: mount request denied from 5.5.5.2 for /usr/tftpboot/nfs
> это реакция на попытку убунты nfsv3
> на фре же в exports
> V4: /usr/tftpboot/nfs/ -network=5.5.5.0 -mask=255.255.255.0
> У вас работает nfsv4 на freebsd?https://forums.freebsd.org/threads/nfsv4-etc-exports-syntax-.../
> У вас работает nfsv4 на freebsd?[10:16:22][root@myhost][/tmp]#mount -t nfs -o nfsv4 -v 127.0.0.1:/opt/tftp /mnt/nfs
127.0.0.1:/opt/tftp on /mnt/nfs (nfs, nfsv4acls, fsid 0fff003a3a000000)
>> У вас работает nfsv4 на freebsd?
> [10:16:22][root@myhost][/tmp]#mount -t nfs -o nfsv4 -v 127.0.0.1:/opt/tftp /mnt/nfs
> 127.0.0.1:/opt/tftp on /mnt/nfs (nfs, nfsv4acls, fsid 0fff003a3a000000)по вашему примеру
rc.d
nfs_server_enable="YES"
nfsv4_server_enable="YES"
nfsuserd_enable="YES"exports
V4: /usr/tftpboot/nfs/#mount -t nfs -o nfsv4 -v 127.0.0.1:/usr/tftpboot/nfs /mnt
mount_nfs: /mnt, : No such file or directory
/dev/ada0p2 on / (ufs, local, journaled soft-updates, writes: sync 2 async 94, reads: sync 1412 async 11, fsid 12e37e5528938214)
в логах пусто.
/mnt физически присутствует
all.log заставить писать всё, и смотреть, что не нравится mountd. хз что там с логгированием, должен по дефолту в /var/log/messages гадить. а на mount_nfs: /mnt, : No such file or directory - обязательно
>[оверквотинг удален]
> nfsv4_server_enable="YES"
> nfsuserd_enable="YES"
> exports
> V4: /usr/tftpboot/nfs/
> #mount -t nfs -o nfsv4 -v 127.0.0.1:/usr/tftpboot/nfs /mnt
> mount_nfs: /mnt, : No such file or directory
> /dev/ada0p2 on / (ufs, local, journaled soft-updates, writes: sync 2 async 94,
> reads: sync 1412 async 11, fsid 12e37e5528938214)
> в логах пусто.
> /mnt физически присутствуетUPD
при попытке монтирования фря пишет "nfsv4 client/server protocol prob err=10006"после перезагрузки сообщение исчезло, но mount_nfs: /mnt, : No such file or directory осталось