Qemu
- Add 'console=0' to the plan9.ini file to get -nographic to work.
- Add '*acpi=1' to the plan9.ini file so 'fshalt' can powerdown Plan 9.
Tor and Hidden Services
- See "Anonymizing Middlebox" guild on TransparentProxy for an extremly easy guild
- All the TCP connections can be exposed very simply with Tor Hidden Services. You need to have the auth, cpu, and 9fs ports exposed just like with Yddrasil.
- Use Poxychains4 to get Drawterm to connect over Tor: proxychains4 /opt/drawterm/drawterm -h xxxxxxxxxxxxxxxxxxxxxxxx.onion
X11 on Plan 9
- Equis, the main Plan 9 X11 client, seems to only work for i386.
- Most of the install guilds seem out of date. To install, do something like this:
9fs 9front
cd /
tar xzf /n/pkg/386/equis*.tbz
- When launching, use "X11/equis -ac" commands to allow remote connects.
- On the linux host, use "export DISPLAY=192.168.9.5:0.0" to make X11 apps pop on the cpuserve.
- On the Plan 9 host, use "DISPLAY=:0" to make local X11 apps pop on equis.
IPv6
- Plan 9 seems to recognize IPv6 Route Advertisement. However, it doesnt seem to be using what I am setting with radvd. Force an IPv6 default route with something like "echo 'add :: :: fdfc::1' >/net/iproute".
- Exposing 9pfs to the IPv6 overlay network:
ip6tables -t nat -A PREROUTING -p tcp --dport 564 -j DNAT --to-destination [fdfc::5054:ff:fe00:ee03]:564
- Exposing Auth to the IPv6 overlay network:
ip6tables -t nat -A PREROUTING -p tcp --dport 567 -j DNAT --to-destination [fdfc::5054:ff:fe00:ee04]:567
- Exposing cpu connections to the IPv6 overlay network:
ip6tables -t nat -A PREROUTING -p tcp --dport 17019 -j DNAT --to-destination [fdfc::5054:ff:fe00:ee05]:17019
ip6tables -t nat -A PREROUTING -p tcp --dport 17020 -j DNAT --to-destination [fdfc::5054:ff:fe00:ee05]:17020
9fs and 9mount
- Not all 9p is the same! See 9P Implementations. For instance, diod only supports 9p2000.L. This doesn't seem to be compatible with Plan 9, so don't waste too much time here.
- 9mount Command example:
9mount "tcp!192.168.9.3" fsserve_9fs
- Make sure to 9umount the mount point before taking down the file server, or you may have to reboot the machine you mounted from...
- Mounting 9pfs IPv6:
srv tcp![200:2d74:bca4:c80f:ea17:1e6d:632d:e579]!564 server /n/server
Drawterm
- The Debian repo drawterm will not work by default with 9front. You need to use build the 9front Drawterm
- Debian Build Dependencies: libx11-dev libxt-dev
- Drawterm can execute command in text mode. Example:
/opt/drawterm/drawterm -h 192.168.9.3 -a 192.168.9.3 -u glenda -G -c "echo newuser $USER >>/srv/cwfs.cmd"
- Drawterm has an undocumented(?) feature where you can set PASS as the user password in an environmental variable. You can also just pipe a password into it if you set the username.
- Drawterm over IPv6:
/opt/drawterm/drawterm -h 200:2d74:bca4:c80f:ea17:1e6d:632d:e579
plan9ports
- Debian Build Dependencies: libfontconfig1-dev libxext-dev libxt-dev build-essential
- Install in /usr/local/, otherwise you might have to do some funky stuff to set the Path.
- Needs "NAMESPACE" env variable. To use without a GUI:
mkdir /tmp/ns.$USER
NAMESPACE=/tmp/ns.$USER export NAMESPACE
- Mounting an IPv6 filesystem:
srv 'tcp!200:2d74:bca4:c80f:ea17:1e6d:632d:e579!564' server
mount -t 9p -o trans=unix,uname=$USER,dfltuid=`id -u`,dfltgid=`id -g` `namespace`/server /mnt/