Все так просто, как могло бы быть. Тебе не нужен мост. Просто МАСКВЕРАДИРОВАТЬ локальную сеть на RPi:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Включите переадресацию трафика:
echo 1 > /proc/sys/net/ipv4/ip_forward
RPi не будет работать как невидимый bump-on-the-wire, но потребуется настройка сети между и ваш личный маршрутизатор - который будет использовать ip-адрес RPi's eth0 в качестве шлюза.
Так что это будет выглядеть следующим образом:
(RPi wlan0) -- МАСКВЕРАД -- (RPi eth0;192.168.99.254/24) → (WAN на приватном маршрутизаторе,192.168.99.1/24)
Спасибо,
. Я не думаю, что CDPN существует для NFS, но можно достигнуть чего-то примерно эквивалентного с основными инструментами. Ограничение - то, что необходимо поместить все определенные для узла файлы в то же местоположение (или по крайней мере необходимо сохранить список местоположений), вы не можете использовать функция @hostname
нигде, вам нравится.
Монтируют локальную файловую систему на всех узлах в том же местоположении, например, / локальный
. В той файловой системе создайте символьную ссылку, цель которой варьируется между узлами и указывает на определенную область узла удаленной файловой системы. Вам не нужно никакое локальное место хранения, для которого, это может быть файловая система в оперативной памяти; так как это только должно сохранить одну символьную ссылку, издержки являются крошечными.
mount -t tmpfs -o noexec,nodev,nosuid,mode=755,nr_inodes=2,nr_blocks=2 local-redirect /local
ln -s "/nfs/.sys/$HOSTNAME" /local/storage
Использование /local/storage
, где вы использовали бы .sys / имя хоста
в вашем примере.
А другой, определенный для Linux подход должен заставить связывание смонтироваться на каждом узле. Иметь пустой каталог в совместно используемой файловой системе и связать - монтируются @hostname
к нему после монтирования файловой системы NFS.
mount --bind "/.nfs/sys/$HOSTNAME" /nfs/.sys/@hostname