2009. május 18., hétfő

# OpenWrt - How to set NFS [on LAN]


Goal: Share videos/music on a network with an OpenWrt router [read only, anonym, UTF8 characters in file names too, router runs 24h a day, clients always connected]. Kamikaze 8.09.
On the router [if the shared folder is "/mnt/hdd/megosztas/" ]
#!/bin/ash
mkdir -p /mnt/hdd/megosztas/
chmod 555 -R /mnt/hdd/megosztas/
opkg update && opkg install unfs3
echo '/mnt/hdd/megosztas/ 192.168.1.0/255.255.255.0(ro)' >> /etc/exports
/etc/init.d/unfs3 enable

echo '#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=50

start() {
/etc/init.d/portmap restart
/usr/sbin/unfsd
}

stop() {
killall unfsd
}

restart() {
stop
sleep 1
start
}' > /etc/init.d/unfs3

sync
sleep 60

/etc/init.d/portmap stop
/etc/init.d/unfs3 restart
Client side [NFS related firewall settings]
#!/bin/bash
IPTABLES=$(which iptables)
$IPTABLES -A INPUT -i lo -s 127.0.0.1 -p udp --dport 111 -j ACCEPT
$IPTABLES -A INPUT -i lo -s 127.0.0.1 -p tcp --dport 111 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m multiport --dport 111,2049 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -m multiport --dport 111,2049 -j ACCEPT
Client side
#!/bin/bash
FELHNEV=$(w | awk '/x-session/ && /tty/ {print $1}')
mkdir -p /home/$FELHNEV/Desktop/Megosztas/
mount -vvv -t nfs 192.168.1.1:/mnt/hdd/megosztas/ /home/$FELHNEV/Desktop/Megosztas/ -o ro,noexec,nosuid,nodev,noatime,nolock,nfsvers=3
Client side - fstab
#!/bin/bash
FELHNEV=$(w | awk '/x-session/ && /tty/ {print $1}')
mkdir -p /home/$FELHNEV/Desktop/Megosztas/
echo "192.168.1.1:/mnt/hdd/megosztas/ /home/$FELHNEV/Desktop/Megosztas/ nfs ro,noexec,nosuid,nodev,noatime,nolock,nfsvers=3 0 0" >> /etc/fstab
mount -a

ui.: boccs az angol miatt, gyorsabb volt így
ui2.: A lazy unmount hasznos lehet egy esetleges ro NFS meghajtó lecsatoláskor: "umount -l /home/valaki/Desktop/Megosztas", miszerint aranyos dolgok történhetnek, ha nincs kapcsolat a routerrel.. :)

Nincsenek megjegyzések:

Megjegyzés küldése