Difference between revisions of "Hout Bay"
(45 intermediate revisions by 3 users not shown) | |||
Line 13: | Line 13: | ||
|Aragon | |Aragon | ||
|Aragon | |Aragon | ||
− | |[http://wind.ctwug.za.net/wind/?page=nodes&node=1682 Kush] | + | |[http://wind.ctwug.za.net/wind/?page=nodes&node=1682 Kush] [http://wind.ctwug.za.net/wind/?page=nodes&node=1985 Vertex] [http://wind.ctwug.za.net/wind/?page=nodes&node=1803 Aragon] |
− | |||
|- | |- | ||
|Armand | |Armand | ||
|armthedark | |armthedark | ||
− | |[http://wind.ctwug.za.net/wind/?page=nodes&node= | + | |[http://wind.ctwug.za.net/wind/?page=nodes&node=5700 TheBrotherhood] [http://wind.ctwug.za.net/wind/?page=nodes&node=1089 DeathStarCanteen] |
− | |[http://wind.ctwug.za.net/wind/?page=nodes&node= | + | |- |
+ | |Chris | ||
+ | |Monty | ||
+ | |[http://wind.ctwug.za.net/wind/?page=nodes&node=5337 Dungeon] | ||
|- | |- | ||
|Cobus | |Cobus | ||
|ObiCanobi | |ObiCanobi | ||
− | | | + | |[http://wind.ctwug.za.net/wind/?page=nodes&node=1725 TROPiX] |
+ | |- | ||
+ | |Csaba | ||
+ | |Csaba | ||
+ | |[http://wind.ctwug.za.net/wind/?page=nodes&node=6054 CyberValley] | ||
|- | |- | ||
|David | |David | ||
|HitmanV | |HitmanV | ||
− | | | + | |[http://wind.ctwug.za.net/wind/?page=nodes&node=1767 HitmanV] [http://wind.ctwug.za.net/wind/?page=nodes&node=2813 Spike] |
+ | |- | ||
+ | |Denis | ||
+ | |d3nis | ||
+ | |[http://wind.ctwug.za.net/wind/?page=nodes&node=2187 d3nis] | ||
|- | |- | ||
|Georg | |Georg | ||
|Georg | |Georg | ||
− | |[http://wind.ctwug.za.net/wind/?page=nodes&node=1905 Slangkop] | + | |[http://wind.ctwug.za.net/wind/?page=nodes&node=1905 Slangkop] [http://wind.ctwug.za.net/wind/?page=nodes&node=1847 Riverside] |
− | |[http://wind.ctwug.za.net/wind/?page=nodes&node= | + | |- |
+ | |Grant | ||
+ | |McDuck | ||
+ | |[http://wind.ctwug.za.net/wind/?page=nodes&node=5226 Talon] | ||
|- | |- | ||
|James | |James | ||
|flamer | |flamer | ||
− | + | |[http://wind.ctwug.za.net/wind/?page=nodes&node=1683 Komskom] | |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | |Jamie |
− | | | + | |Johjam |
− | + | |[http://wind.ctwug.za.net/wind/?page=nodes&node=6016 Johjam02] | |
|- | |- | ||
− | | | + | |Johan |
− | | | + | |Blik |
− | + | |[http://wind.ctwug.za.net/wind/?page=nodes&node=5240 Blik] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | |Jonathan |
− | + | |Lazyant | |
− | + | |[http://wind.ctwug.za.net/wind/index.php?page=nodes&node=4340 Lazyant] | |
− | |||
|- | |- | ||
− | | | + | |Juan |
− | + | |JuanH | |
− | + | |[http://wind.ctwug.za.net/wind/?page=nodes&node=3772 dizzy] | |
− | |||
|- | |- | ||
− | |||
− | |||
|Luke | |Luke | ||
− | | | + | |InHumaN |
+ | |[http://wind.ctwug.za.net/wind/?page=nodes&node=1823 FinkNode] | ||
|- | |- | ||
− | | | + | |Nicolaas |
− | + | |saalocin | |
− | + | |[http://wind.ctwug.za.net/wind/?page=nodes&node=5425 saalocin] | |
− | |||
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|Richard | |Richard | ||
− | | | + | |Richard |
− | | | + | |[http://wind.ctwug.za.net/wind/?page=nodes&node=3367 Joy] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 160: | Line 100: | ||
|Mumble | |Mumble | ||
|Aragon | |Aragon | ||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 197: | Line 133: | ||
<pre> | <pre> | ||
PS1='\[\e]1;\h-term\a\e]2;\h:\w\a\]\h\$ ' | PS1='\[\e]1;\h-term\a\e]2;\h:\w\a\]\h\$ ' | ||
− | reload='/etc/persistent/rc. | + | alias reload='/etc/persistent/rc.ctwug reload' |
</pre> | </pre> | ||
===Step 3: Setup BIRD=== | ===Step 3: Setup BIRD=== | ||
− | Create a BIRD configuration in '''/etc/persistent/bird4.conf''' with contents: | + | Create a BIRD configuration script in '''/etc/persistent/bird4.conf.sh''' with contents: |
<pre> | <pre> | ||
+ | mkbirdconf () { | ||
+ | cat >${BIRDCONF} <<_EOF | ||
log stderr all; | log stderr all; | ||
− | router id | + | router id ${ROUTERID}; |
− | filter ospfin { | + | filter ospfin |
− | + | prefix set hbwug; | |
− | + | ip set hbwuggw; | |
− | + | { | |
− | + | hbwug = [ 172.18.87.0/24+, 172.18.88.0/24+, 172.18.102.0/23+ ]; | |
− | + | hbwuggw = [ 172.18.87.0, 172.18.102.0 ]; | |
− | + | if net ~ hbwug then { | |
− | + | if gw.mask(26) ~ hbwuggw then accept; | |
− | if | + | reject; |
− | if | ||
} | } | ||
+ | if net ~ 172.16.0.0/12 then accept; | ||
reject; | reject; | ||
} | } | ||
Line 225: | Line 163: | ||
learn; | learn; | ||
description "kernel"; | description "kernel"; | ||
− | scan time | + | scan time 60; |
import none; | import none; | ||
export all; | export all; | ||
Line 231: | Line 169: | ||
protocol device { | protocol device { | ||
− | scan time | + | scan time 60; |
} | } | ||
+ | |||
+ | _EOF | ||
+ | |||
+ | if [ -e ${BIRDCONF}.local ]; then | ||
+ | cat ${BIRDCONF}.local >>${BIRDCONF} | ||
+ | fi | ||
+ | |||
+ | cat >>${BIRDCONF} <<"_EOF" | ||
protocol ospf wug { | protocol ospf wug { | ||
tick 1; | tick 1; | ||
+ | description "WUG"; | ||
import filter ospfin; | import filter ospfin; | ||
+ | _EOF | ||
+ | case ${NETMODE} in | ||
+ | router) | ||
+ | cat >>${BIRDCONF} <<"_EOF" | ||
export all; | export all; | ||
− | |||
area 0.0.0.0 { | area 0.0.0.0 { | ||
interface "ath0" { | interface "ath0" { | ||
Line 253: | Line 203: | ||
}; | }; | ||
}; | }; | ||
+ | _EOF | ||
+ | ;; | ||
+ | bridge) | ||
+ | cat >>${BIRDCONF} <<"_EOF" | ||
+ | export none; | ||
+ | area 0.0.0.0 { | ||
+ | interface "br0" { | ||
+ | cost 10; | ||
+ | priority 0; | ||
+ | hello 10; | ||
+ | retransmit 20; | ||
+ | type broadcast; | ||
+ | authentication none; | ||
+ | }; | ||
+ | }; | ||
+ | _EOF | ||
+ | ;; | ||
+ | esac | ||
+ | cat >>${BIRDCONF} <<"_EOF" | ||
+ | } | ||
+ | _EOF | ||
} | } | ||
</pre> | </pre> | ||
− | ===Step | + | ===Step 4: Create firewall script=== |
Ubiquiti devices run Linux and use [http://linux.die.net/man/8/iptables iptables] for firewalling. Unfortunately Ubiquiti's web interface to iptables is very limited, so in order to run a more advanced firewall we add a custom firewall script. | Ubiquiti devices run Linux and use [http://linux.die.net/man/8/iptables iptables] for firewalling. Unfortunately Ubiquiti's web interface to iptables is very limited, so in order to run a more advanced firewall we add a custom firewall script. | ||
Line 287: | Line 258: | ||
Also remember to: | Also remember to: | ||
− | * Enable the firewall in the web interface of your device. | + | * Enable the firewall in the web interface of your device. (''after'' step 6) |
* Configure your DC client as shown [[#File_Sharing|above]]. | * Configure your DC client as shown [[#File_Sharing|above]]. | ||
− | ===Step | + | ===Step 5: Create boot time HBWUG scripts=== |
This step creates the necessary boot time code that allows steps 2 and 3 to work. Create the following files: | This step creates the necessary boot time code that allows steps 2 and 3 to work. Create the following files: | ||
Line 313: | Line 284: | ||
?> | ?> | ||
BIRDENABLE=1 | BIRDENABLE=1 | ||
− | |||
</pre> | </pre> | ||
− | '''/etc/persistent/rc. | + | '''/etc/persistent/rc.ctwug''': |
<pre> | <pre> | ||
#!/bin/sh | #!/bin/sh | ||
eval "$(/etc/persistent/config.php)" | eval "$(/etc/persistent/config.php)" | ||
+ | . /etc/persistent/bird4.conf.sh | ||
PATH=${PATH}:/sbin | PATH=${PATH}:/sbin | ||
BIRDCONF=/etc/persistent/bird4.conf | BIRDCONF=/etc/persistent/bird4.conf | ||
FWCONF=/etc/persistent/rc.firewall | FWCONF=/etc/persistent/rc.firewall | ||
[ -z "${BIRDENABLE}" ] && BIRDENABLE=0 | [ -z "${BIRDENABLE}" ] && BIRDENABLE=0 | ||
− | |||
case "$1" in | case "$1" in | ||
− | start) | + | start|reload) |
STARTBIRD=0 | STARTBIRD=0 | ||
− | + | STARTFW=0 | |
if [ "${NETMODE}" = "router" ]; then | if [ "${NETMODE}" = "router" ]; then | ||
for f in /proc/sys/net/ipv4/conf/*; do | for f in /proc/sys/net/ipv4/conf/*; do | ||
Line 338: | Line 308: | ||
done | done | ||
if [ "${FWSTATUS}" = "enabled" -a -e ${FWCONF} ]; then | if [ "${FWSTATUS}" = "enabled" -a -e ${FWCONF} ]; then | ||
− | + | STARTFW=1 | |
fi | fi | ||
− | if [ ${BIRDENABLE} -eq 1 | + | if [ ${BIRDENABLE} -eq 1 -a -n "${WLANIP}" ]; then |
− | + | ROUTERID=${WLANIP} | |
STARTBIRD=1 | STARTBIRD=1 | ||
fi | fi | ||
elif [ "${NETMODE}" = "bridge" ]; then | elif [ "${NETMODE}" = "bridge" ]; then | ||
− | if [ ${BIRDENABLE} -eq 1 | + | if [ ${BIRDENABLE} -eq 1 -a -n "${BRIDGEIP}" ]; then |
− | + | ROUTERID=${BRIDGEIP} | |
STARTBIRD=1 | STARTBIRD=1 | ||
fi | fi | ||
+ | fi | ||
+ | case "$1" in | ||
+ | start) | ||
+ | echo "CTWUG starting" | ||
+ | ;; | ||
+ | reload) | ||
+ | echo "CTWUG reloading:" | ||
+ | case "$2" in | ||
+ | fw) | ||
+ | STARTBIRD=0 | ||
+ | ;; | ||
+ | ospf) | ||
+ | STARTFW=0 | ||
+ | ;; | ||
+ | esac | ||
+ | ;; | ||
+ | esac | ||
+ | if [ ${STARTFW} -eq 1 ]; then | ||
+ | if [ "${1}" = "reload" ]; then | ||
+ | if [ "${2}" = "fw" -o -z "${2}" ]; then | ||
+ | echo " firewall" | ||
+ | fi | ||
+ | fi | ||
+ | . ${FWCONF} | ||
fi | fi | ||
if [ ${STARTBIRD} -eq 1 ]; then | if [ ${STARTBIRD} -eq 1 ]; then | ||
− | if [ ${ | + | if [ "${1}" = "reload" ]; then |
− | + | if [ "${2}" = "ospf" -o -z "${2}" ]; then | |
+ | echo " OSPF" | ||
+ | /usr/bin/bird4.init stop | ||
+ | fi | ||
fi | fi | ||
+ | mkbirdconf | ||
+ | sleep 1 | ||
/usr/bin/bird4.init start | /usr/bin/bird4.init start | ||
fi | fi | ||
;; | ;; | ||
stop) | stop) | ||
− | echo " | + | echo "CTWUG shutdown" |
/usr/bin/bird4.init stop | /usr/bin/bird4.init stop | ||
− | + | iptables -F FIREWALL | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
;; | ;; | ||
esac | esac | ||
Line 384: | Line 367: | ||
'''/etc/persistent/rc.poststart''': | '''/etc/persistent/rc.poststart''': | ||
<pre> | <pre> | ||
− | /etc/persistent/rc. | + | /etc/persistent/rc.ctwug start |
</pre> | </pre> | ||
Line 390: | Line 373: | ||
'''/etc/persistent/rc.prestop''': | '''/etc/persistent/rc.prestop''': | ||
<pre> | <pre> | ||
− | /etc/persistent/rc. | + | /etc/persistent/rc.ctwug stop |
</pre> | </pre> | ||
− | ===Step | + | ===Step 6: Finishing touches=== |
Run the following commands from within '''/etc/persistent''': | Run the following commands from within '''/etc/persistent''': | ||
<pre> | <pre> | ||
− | chmod +x config.php rc. | + | chmod +x config.php rc.ctwug |
save | save | ||
</pre> | </pre> | ||
Line 404: | Line 387: | ||
===Extra: Making changes=== | ===Extra: Making changes=== | ||
− | If changes need to be made to '''bird4.conf''' or '''rc.firewall''', either or both must be reloaded for the changes to take effect. | + | If changes need to be made to '''bird4.conf.sh''' or '''rc.firewall''', either or both must be reloaded for the changes to take effect. |
To reload the firewall ruleset: | To reload the firewall ruleset: |
Latest revision as of 17:41, 7 July 2012
Contents
Hout Bay WUG
The Hout Bay WUG is a historic name for what is now the Hout Bay area on CTWUG. It started life in March 2010 as a Hout Bay specific WUG, disconnected from CTWUG due to geographic hurdles in connecting. On 23 December 2010 it was connected to CTWUG via Kommetjie, Noordhoek and Fishoek areas. This Wiki entry is just a knowledge base specific to our area.
Meet the Hout Bay Wuggers
Name | Nick | Nodes | |
---|---|---|---|
Aragon | Aragon | Kush Vertex Aragon | |
Armand | armthedark | TheBrotherhood DeathStarCanteen | |
Chris | Monty | Dungeon | |
Cobus | ObiCanobi | TROPiX | |
Csaba | Csaba | CyberValley | |
David | HitmanV | HitmanV Spike | |
Denis | d3nis | d3nis | |
Georg | Georg | Slangkop Riverside | |
Grant | McDuck | Talon | |
James | flamer | Komskom | |
Jamie | Johjam | Johjam02 | |
Johan | Blik | Blik | |
Jonathan | Lazyant | Lazyant | |
Juan | JuanH | dizzy | |
Luke | InHumaN | FinkNode | |
Nicolaas | saalocin | saalocin | |
Richard | Richard | Joy |
Network Services
Address | Protocol | Admin |
---|---|---|
172.18.87.1 | DNS | Aragon |
adc://hub.aragon.ctwug.za.net:1511 | ADC | Aragon |
mumble://mumble.aragon.ctwug.za.net | Mumble | Aragon |
File Sharing
We use ADC for sharing files on HBWUG. You will need an ADC 1.0 compliant client to participate. CTWUG's WugDC++ is compatible, but EiskaltDC is another recommended option. If using EiskaltDC, configure the connection settings as follows:
- Mode: Active
- TCP Port: 2222
- UDP Port: 2222
- TLS Port: 2223
Make sure those ports are open on your respective firewalls, especially the Windows firewall and any anti-virus firewalls.
Then just add the ADC hub listed in Network Services above to your favourites.
Ubiquiti Customisations
We use a number of Ubiquiti customisations to make things run smoother on HBWUG. The following instructions are intended for wuggers with some networking and Unix knowledge. Most of the changes below need to be done on the command line of your device via SSH.
Step 1: Load OSPF firmware
This requires custom Ubiquiti firmware. Either obtain a precompiled image from Aragon or build one yourself by following: Adding OSPF support to Ubiquiti devices.
Load the firmware to your device using the "Update" function in the web interface. Once its loaded and your device has rebooted with the new firmware, continue to the next step.
Step 2: Setup shell profile
From this point on do NOT reboot your device again until you've completed step 5.
Create /etc/persistent/profile with contents:
PS1='\[\e]1;\h-term\a\e]2;\h:\w\a\]\h\$ ' alias reload='/etc/persistent/rc.ctwug reload'
Step 3: Setup BIRD
Create a BIRD configuration script in /etc/persistent/bird4.conf.sh with contents:
mkbirdconf () { cat >${BIRDCONF} <<_EOF log stderr all; router id ${ROUTERID}; filter ospfin prefix set hbwug; ip set hbwuggw; { hbwug = [ 172.18.87.0/24+, 172.18.88.0/24+, 172.18.102.0/23+ ]; hbwuggw = [ 172.18.87.0, 172.18.102.0 ]; if net ~ hbwug then { if gw.mask(26) ~ hbwuggw then accept; reject; } if net ~ 172.16.0.0/12 then accept; reject; } protocol kernel { persist; learn; description "kernel"; scan time 60; import none; export all; } protocol device { scan time 60; } _EOF if [ -e ${BIRDCONF}.local ]; then cat ${BIRDCONF}.local >>${BIRDCONF} fi cat >>${BIRDCONF} <<"_EOF" protocol ospf wug { tick 1; description "WUG"; import filter ospfin; _EOF case ${NETMODE} in router) cat >>${BIRDCONF} <<"_EOF" export all; area 0.0.0.0 { interface "ath0" { cost 10; hello 10; retransmit 20; type broadcast; authentication none; }; interface "eth0" { cost 10; type broadcast; stub; }; }; _EOF ;; bridge) cat >>${BIRDCONF} <<"_EOF" export none; area 0.0.0.0 { interface "br0" { cost 10; priority 0; hello 10; retransmit 20; type broadcast; authentication none; }; }; _EOF ;; esac cat >>${BIRDCONF} <<"_EOF" } _EOF }
Step 4: Create firewall script
Ubiquiti devices run Linux and use iptables for firewalling. Unfortunately Ubiquiti's web interface to iptables is very limited, so in order to run a more advanced firewall we add a custom firewall script.
Create /etc/persistent/rc.firewall with contents:
DCPORT="2222" TORRENTPORT="7000" iptables -F FIREWALL iptables -A FIREWALL --protocol icmp -j ACCEPT iptables -A FIREWALL -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FIREWALL -i ath0 --dst ${WLANIP} -m state --state NEW -j ACCEPT iptables -A FIREWALL -i ath0 --dst ${WLANIP} --protocol ospf -m state --state NEW -j ACCEPT iptables -A FIREWALL -i ath0 --dst 224.0.0.5/32 --protocol ospf -m state --state NEW -j ACCEPT iptables -A FIREWALL -i ath0 --dst 224.0.0.6/32 --protocol ospf -m state --state NEW -j ACCEPT iptables -A FIREWALL -i ath0 --dst 224.0.0.22/32 --protocol igmp -m state --state NEW -j ACCEPT iptables -A FIREWALL -i ath0 --dst ${LOCALNET} --protocol tcp --dport ${DCPORT} -m state --state NEW -j ACCEPT iptables -A FIREWALL -i ath0 --dst ${LOCALNET} --protocol tcp --dport $((${DCPORT}+1)) -m state --state NEW -j ACCEPT iptables -A FIREWALL -i ath0 --dst ${LOCALNET} --protocol udp --dport ${DCPORT} -m state --state NEW -j ACCEPT iptables -A FIREWALL -i ath0 --dst ${LOCALNET} --protocol udp --dport ${TORRENTPORT} -m state --state NEW -j ACCEPT iptables -A FIREWALL -i ath0 --dst ${LOCALNET} --protocol udp --dport 33434:65535 -m state --state NEW -j ACCEPT iptables -A FIREWALL -i ath0 --protocol tcp -j REJECT --reject-with tcp-reset iptables -A FIREWALL -i ath0 --dst 255.255.255.255 --protocol udp --dport 5678 -j DROP iptables -A FIREWALL -i ath0 -j REJECT
The above is a starting point that will work for most wuggers. Modify it as you need if you understand iptables.
Also remember to:
- Enable the firewall in the web interface of your device. (after step 6)
- Configure your DC client as shown above.
Step 5: Create boot time HBWUG scripts
This step creates the necessary boot time code that allows steps 2 and 3 to work. Create the following files:
/etc/persistent/config.php:
#!/bin/cgi -q <? chdir("/usr/www"); include("lib/settings.inc"); $cfg = @cfg_load($cfg_file); if ($cfg == -1) { exit; } $netmode = cfg_get($cfg, "netmode"); $fwstatus = cfg_get($cfg, "iptables.status"); $lannet = cfg_get($cfg, "netconf.1.ip") + "/" + cfg_get($cfg, "netconf.1.netmask"); $wlanip = cfg_get($cfg, "netconf.2.ip"); $bridgeip = cfg_get($cfg, "netconf.3.ip"); echo("NETMODE=\"$netmode\"\n"); echo("FWSTATUS=\"$fwstatus\"\n"); echo("LOCALNET=\"$lannet\"\n"); echo("WLANIP=\"$wlanip\"\n"); echo("BRIDGEIP=\"$bridgeip\"\n"); ?> BIRDENABLE=1
/etc/persistent/rc.ctwug:
#!/bin/sh eval "$(/etc/persistent/config.php)" . /etc/persistent/bird4.conf.sh PATH=${PATH}:/sbin BIRDCONF=/etc/persistent/bird4.conf FWCONF=/etc/persistent/rc.firewall [ -z "${BIRDENABLE}" ] && BIRDENABLE=0 case "$1" in start|reload) STARTBIRD=0 STARTFW=0 if [ "${NETMODE}" = "router" ]; then for f in /proc/sys/net/ipv4/conf/*; do echo 1 >${f}/accept_redirects echo 1 >${f}/send_redirects done if [ "${FWSTATUS}" = "enabled" -a -e ${FWCONF} ]; then STARTFW=1 fi if [ ${BIRDENABLE} -eq 1 -a -n "${WLANIP}" ]; then ROUTERID=${WLANIP} STARTBIRD=1 fi elif [ "${NETMODE}" = "bridge" ]; then if [ ${BIRDENABLE} -eq 1 -a -n "${BRIDGEIP}" ]; then ROUTERID=${BRIDGEIP} STARTBIRD=1 fi fi case "$1" in start) echo "CTWUG starting" ;; reload) echo "CTWUG reloading:" case "$2" in fw) STARTBIRD=0 ;; ospf) STARTFW=0 ;; esac ;; esac if [ ${STARTFW} -eq 1 ]; then if [ "${1}" = "reload" ]; then if [ "${2}" = "fw" -o -z "${2}" ]; then echo " firewall" fi fi . ${FWCONF} fi if [ ${STARTBIRD} -eq 1 ]; then if [ "${1}" = "reload" ]; then if [ "${2}" = "ospf" -o -z "${2}" ]; then echo " OSPF" /usr/bin/bird4.init stop fi fi mkbirdconf sleep 1 /usr/bin/bird4.init start fi ;; stop) echo "CTWUG shutdown" /usr/bin/bird4.init stop iptables -F FIREWALL ;; esac
/etc/persistent/rc.poststart:
/etc/persistent/rc.ctwug start
/etc/persistent/rc.prestop:
/etc/persistent/rc.ctwug stop
Step 6: Finishing touches
Run the following commands from within /etc/persistent:
chmod +x config.php rc.ctwug save
All done! When you reboot your router the changes you made should take effect.
Extra: Making changes
If changes need to be made to bird4.conf.sh or rc.firewall, either or both must be reloaded for the changes to take effect.
To reload the firewall ruleset:
reload fw
To reload the OSPF configuration:
reload ospf
Or to reload both:
reload
Once you've tested the changes and are happy, don't forget to save your changes:
save