-config global autoswap
- option from_fstab 1
- option anon_swap 1
-
-config mount
- option target /mnt/usb
- option device /dev/sda2
- option fstype ext4
- option options rw,async,noatime,nodiratime
- option enabled 1
- option enabled_fsck 0
-
-config swap
- option device /dev/sda1
- option enabled 1
-
-EOF
-
-
-
-# exportfs -ra wont cut it when its the same path, but now a bind mount
-cedit /etc/exports <<'EOF' || v /etc/init.d/nfsd restart ||:
-/mnt/usb 192.168.1.0/255.255.255.0(rw,no_root_squash,insecure,sync,no_subtree_check)
-# for arch pxe
-/run/archiso/bootmnt 192.168.1.0/255.255.255.0(rw,no_root_squash,insecure,sync,no_subtree_check)
-EOF
-
-
-v /etc/init.d/portmap start
-v /etc/init.d/nfsd start
-v /etc/init.d/portmap enable
-v /etc/init.d/nfsd enable
-
-v /etc/init.d/openvpn start
-v /etc/init.d/openvpn enable
-
-
-# setup to use only vpn in 5 ways:
-# set lan forward to vpn instead of wan,
-# disable wan masquerade,
-# set the default for outgoing to reject,
-# open wan port 1194 and 22 (ssh is too useful),
-# setup port forwardings to use vpn.
-firewall_restart=false
-# https://wiki.openwrt.org/doc/uci
-if [[ $(uci get firewall.@forwarding[0].dest) != vpn ]]; then
- # default is wan
- # https://wiki.openwrt.org/doc/uci
- v uci set firewall.@forwarding[0].dest=vpn
- uci commit firewall
- firewall_restart=true
-fi
-
-wan_index=$(uci show firewall | sed -rn 's/firewall\.@zone\[([0-9])+\]\.name=wan/\1/p')
-w="firewall.@zone[$wan_index]"
-if [[ $(uci get $w.masq) == 1 ]]; then
- v uci set $w.masq=0
- uci commit firewall
- firewall_restart=true
-fi
-
-if [[ $(uci get $w.output) != REJECT ]]; then
- v uci set $w.masq=REJECT
- uci commit firewall
- firewall_restart=true
-fi
-
-if [[ $(uci get firewall.@forwarding[0].dest) != vpn ]]; then
- # default is wan
- v uci set uci set firewall.@forwarding[0].dest=vpn
- uci commit firewall
- firewall_restart=true
-fi
-
-
-# from https://wiki.openwrt.org/doc/uci/firewall
-# todo: not sure if /etc/init.d/network needs restarting.
-# I did, and I had to restart the vpn afterwards.
-# This maps a uci interface to a real interface which is
-# managed outside of uci.
-cedit /etc/config/network <<'EOF' ||:
-config interface 'tun0'
- option ifname 'tun0'
- option proto 'none'
-EOF
-
-
-
-# each port forward needs corresponding forward in the vpn server
-cedit /etc/config/firewall <<'EOF' || firewall_restart=true
-config zone
- option name vpn
- list network 'tun0'
- option input REJECT
- option output ACCEPT
- option forward REJECT
- option masq 1
-
-config rule
- option dest wan
- option target ACCEPT
- option dest_port '1194 22'
-
-# port forwarding
-config redirect
-option name bittorrent
-option src vpn
-option src_dport 63324
-option dest_ip 192.168.1.2
-option dest lan
-# making the port open (not sure if this is actually needed)
-config rule
-option src vpn
-option target ACCEPT
-option dest_port 63324
-
-config redirect
-option name frodobittorrent
-option src vpn
-option src_dport 63326
-option dest_ip 192.168.1.3
-option dest lan
-
-config rule
-option src vpn
-option target ACCEPT
-option dest_port 63326
-
-
-config redirect
-option name treetowlsyncthing
-option src vpn
-option src_dport 22000
-option dest_ip 192.168.1.2
-option dest lan
-option proto tcp
-
-config rule
-option src vpn
-option target ACCEPT
-option dest_port 22000
-
-
-config redirect
-option name bithtpc
-option src vpn
-option src_dport 63325
-option dest_ip 192.168.1.4
-option dest lan
-
-config rule
-option src vpn
-option target ACCEPT
-option dest_port 63325
-
-
-config redirect
-option name ssh
-option src wan
-# example of using a non-standard port
-# and comment out the 22 port line
-# option src_dport 63321
-# option dest_port 22 # already default
-option src_dport 22
-option dest_ip 192.168.1.2
-option dest lan