Mercurial > hg > anonet-resdb
changeset 804:0ab988a1cec7 draft
updates for peer2anonet,
./contrib/peer2anonet/peer2anonet --update-dns
can now bring tinydns-ano up to date.
author | d3v11 <d3v11@d3v11.ano> |
---|---|
date | Tue, 29 Nov 2011 09:23:30 +0000 |
parents | 3761c3e87765 |
children | 994843bd423f |
files | contrib/peer2anonet/README contrib/peer2anonet/README.html contrib/peer2anonet/peer2anonet |
diffstat | 3 files changed, 207 insertions(+), 137 deletions(-) [+] |
line wrap: on
line diff
--- a/contrib/peer2anonet/README Tue Nov 29 07:20:10 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -DESCRIPTION: - - peer2anonet is an autoconfiguration utility for setting - up core services on AnoNet2. Enjoy :-). - -DEPENDS ON: - - quicktun, bird, daemontools(non-deb), bash - -AUTHOR: - - d3v11 from www.d3v11.ano somtimes, maybe, dunno. - - REPORT BULLSHIT TO: - - IRC: - - /relayhell/d3v11 - - EMAIL: - - d3v11@d3v11.ano - -USAGE: - - ./contrib/peer2anonet/peer2anonet --configure generate a new local configuration and exit - - ./contrib/peer2anonet/peer2anonet --update regenerate peer configurations - - ./contrib/peer2anonet/peer2anonet --configure-peer generate a new peer configuration and update - - ./contrib/peer2anonet/peer2anonet --rm-peer remove a peer configuration and update - - ./contrib/peer2anonet/peer2anonet --install-daemontools installs daemontools - - ./contrib/peer2anonet/peer2anonet --install-ucspi-tcp installs ucspi-tcp - - ./contrib/peer2anonet/peer2anonet --install-djbdns installs djbdns - - ./contrib/peer2anonet/peer2anonet --configure-dns configures dnscache and tinydns zones - -RTFM: - - CONFIGURE: - - I highly recommend that before you use peer2anonet - you ./configure resdb with tinydns support. - - ./contrib/peer2anonet/peer2anonet --configure - - EXAMPLES: - - Enter your AnoNet subnet: 1.2.3.0 - Enter your AnoNet router: 1.2.3.1 - Enter your peering ip: 1.2.3.4 - Enter your AnoNet asn: 1234 - - CONFIGURE PEER: - - ./contrib/peer2anonet/peer2anonet --configure-peer - - KEY PAIRS: - - before running peer2anonet to configure peers you can use - quicktun to generate keypairs: - - quicktun.keypair</dev/random - - CLIENT PORT: - - peer2anonet uses '20' plus the first four digits of your peer's asn - as the `clientport'. - - LOCAL_PORT=20${PEERASN:0:4} - - EXAMPLES: - - Enter your peer's name: d3v11 - Enter your peer's remote ip: 11.11.55.1 - Enter your peer's peering ip: 1.1.5.2 - Enter your peer's remote port: 201150 - Enter your peer's asn: 1150 - Enter your peer's public key: * see KEY PAIRS above * - Enter your private key: * see KEY PAIRS above * - - RUN CHANGES: - - peer2anonet exports the /service/$PEER/run file to - /etc/peer2anonet/peers/$PEER/run. If you need to - create customizations for peerings then make adjustments - to that file. - - CONFIGURE DNS: - - If you did not ./configure resdb with tinydns support - then you need to do that before using this function. - - also before using you will need to have installed - daemontools, djbdns, and ucspi-tcp. peer2anonet - can do this for you with --install-* options. - - ./contrib/peer2anonet/peer2anonet --configure-dns - - COMPLAIN: - - If this README doesn't tell you what you need to know - you can head over to www.d3v11.ano/peering. If that - doesn't get you what you want then either complain to - me or shoot both of us in the face. - - - -
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contrib/peer2anonet/README.html Tue Nov 29 09:23:30 2011 +0000 @@ -0,0 +1,130 @@ +<html><body bgcolor="#000000"><font color="white"> +<pre> +<b>DESCRIPTION:</b> + + peer2anonet is an autoconfiguration utility for setting + up core services on AnoNet2. Enjoy :-). + +<b>DEPENDS ON:</b> + + quicktun, bird, bash for now. it also installs some cool shit + that you'll use later. + +<b>AUTHOR:</b> + + d3v11 from <a href="http://www.d3v11.ano/">www.d3v11.ano</a>, somtimes, maybe, dunno. + + <b>REPORT BULLSHIT TO:</b> + + <b>IRC:</b> + + /relayhell/d3v11 + + <b>EMAIL:</b> + + d3v11@d3v11.ano + +<b>USAGE:</b> + + ./contrib/peer2anonet/peer2anonet --configure generate a new local configuration and exit + + ./contrib/peer2anonet/peer2anonet --update regenerate peer configurations + + ./contrib/peer2anonet/peer2anonet --configure-peer generate a new peer configuration and update + + ./contrib/peer2anonet/peer2anonet --rm-peer remove a peer configuration and update + + ./contrib/peer2anonet/peer2anonet --install-daemontools installs daemontools + + ./contrib/peer2anonet/peer2anonet --install-ucspi-tcp installs ucspi-tcp + + ./contrib/peer2anonet/peer2anonet --install-djbdns installs djbdns + + ./contrib/peer2anonet/peer2anonet --configure-dns configures dnscache and tinydns zones + + ./contrib/peer2anonet/peer2anonet --update-dns updates tinydns-ano zone + +<b>RTFM:</b> + + <b>CONFIGURE:</b> + + I highly recommend that before you use peer2anonet + you ./configure resdb with tinydns support. + + ./contrib/peer2anonet/peer2anonet --configure + + <b>EXAMPLES:</b> + + Enter your AnoNet subnet: 1.2.3.0 + Enter your AnoNet router: 1.2.3.1 + Enter your peering ip: 1.2.3.4 + Enter your AnoNet asn: 1234 + + <b>CONFIGURE PEER:</b> + + ./contrib/peer2anonet/peer2anonet --configure-peer + + <b>KEY PAIRS:</b> + + before running peer2anonet to configure peers you can use + quicktun to generate keypairs: + + quicktun.keypair < /dev/random + + <b>EXAMPLES:</b> + + Enter your peer's name: d3v11 + Enter your peer's remote ip: 11.11.55.1 + Enter your peer's peering ip: 1.1.5.2 + Enter your peer's remote port: 21150 + Enter your local port: 61150 + Enter your peer's asn: 1150 + Enter your peer's public key: * see KEY PAIRS above * + Enter your private key: * see KEY PAIRS above * + + <b>RUN CHANGES:</b> + + peer2anonet exports the /service/$PEER/run file to + /etc/peer2anonet/peers/$PEER/run. If you need to + create customizations for peerings then make adjustments + to that file. + + <b>CONFIGURATION FILES:</b> + + /etc/peer2anonet/peers/$PEER/* contains: + + asn local_port peering_ip pubkey remote_ip remote_port run seckey + + In the event you want to reconfigure a peer's tunnel you can alter the run + file and do `--update', rm run and modify the above files then use `--update', + or reconfigure the peering tunnel altogether with --configure-peer and choose + that peer's name. If you think this is absurd then you're probably right! I + plan on doing something with these files later. + + <b>CONFIGURE DNS:</b> + + If you did not ./configure resdb with tinydns support + then you need to do that before using this function. + + also before using you will need to have installed + daemontools, djbdns, and ucspi-tcp. peer2anonet + can do this for you with --install-* options. + + ./contrib/peer2anonet/peer2anonet --configure-dns + + <b>UPDATE DNS:</b> + + After a successful `--configure-dns', you can now + enjoy to use `--update-dns' to bring your AnoNet + domains up to speed. + + <b>COMPLAIN:</b> + + If this README doesn't tell you what you need to know + you can head over to www.d3v11.ano/peering. If that + doesn't get you what you want then either complain to + me or shoot both of us in the face. + + + +</pre></font></body></html>
--- a/contrib/peer2anonet/peer2anonet Tue Nov 29 07:20:10 2011 +0000 +++ b/contrib/peer2anonet/peer2anonet Tue Nov 29 09:23:30 2011 +0000 @@ -21,7 +21,8 @@ echo -e '\n ./contrib/peer2anonet/peer2anonet --install-daemontools installs daemontools' echo -e '\n ./contrib/peer2anonet/peer2anonet --install-ucspi-tcp installs ucspi-tcp' echo -e '\n ./contrib/peer2anonet/peer2anonet --install-djbdns installs djbdns' - echo -e '\n ./contrib/peer2anonet/peer2anonet --configure-dns configures dnscache and tinydns zones\n' + echo -e '\n ./contrib/peer2anonet/peer2anonet --configure-dns configures dnscache and tinydns zones' + echo -e '\n ./contrib/peer2anonet/peer2anonet --update-dns updates tinydns-ano zone\n' exit 0 } @@ -399,9 +400,13 @@ tar cf /etc/peer2anonet/tinydns-root.tar tinydns-root ) fi - (cd /service ; svc -d dnscache tinydns tinydns-ano tinydns-root) - (cd /service ; rm -f dnscache tinydns tinydns-ano tinydns-root) - (cd /services ; rm -rf dnscache tinydns tinydns-ano tinydns-root) + ( + cd /service + svc -d dnscache tinydns tinydns-ano tinydns-root + rm -f dnscache tinydns tinydns-ano tinydns-root + cd /services + rm -rf dnscache tinydns tinydns-ano tinydns-root + ) echo -e '\nCONFIGURE DNS:\n' NICK=`cat conf/git_name` @@ -443,22 +448,13 @@ tinydns-conf Gtinydns Gdnslog /services/tinydns $TINYDNS_IP - #echo ".$NICK.ano:$TINYDNS_IP:a:259200" > /services/tinydns/root/data - #echo "=www.$NICK.ano:$GIT_IP:86400" >> /services/tinydns/root/data - #echo "+git.$NICK.ano:$GIT_IP:86400" >> /services/tinydns/root/data - #echo "+$NICK.ano:$GIT_IP:86400" >> /services/tinydns/root/data - #echo "+$TINYDNS_ANO_DOMAIN:$TINYDNS_ANO_IP:3600" >> /services/tinydns/root/data - #echo ".1.in-addr.arpa::$TINYDNS_ANO_DOMAIN" >> /services/tinydns/root/data - #echo ".2.in-addr.arpa::$TINYDNS_ANO_DOMAIN" >> /services/tinydns/root/data - #echo ".ano::$TINYDNS_ANO_DOMAIN" >> /services/tinydns/root/data - #echo ".ntwrk::$TINYDNS_ANO_DOMAIN" >> /services/tinydns/root/data ( - cd /services/tinydns/root - ./add-ns $NICK.ano $TINYDNS_IP - ./add-alias $GIT_DOMAIN $GIT_IP - ./add-alias $TINYDNS_ROOT_DOMAIN $TINYDNS_ROOT_IP - ./add-alias $TINYDNS_ANO_DOMAIN $TINYDNS_ANO_IP - make + cd /services/tinydns/root + ./add-ns $NICK.ano $TINYDNS_IP + ./add-alias $GIT_DOMAIN $GIT_IP + ./add-alias $TINYDNS_ROOT_DOMAIN $TINYDNS_ROOT_IP + ./add-alias $TINYDNS_ANO_DOMAIN $TINYDNS_ANO_IP + make ) tinydns-conf Gtinydns Gdnslog /services/tinydns-root $TINYDNS_ROOT_IP @@ -469,11 +465,66 @@ ./scripts/nameserver_autogen/tinydns_tld_datafile > /services/tinydns-ano/root/data ( cd /services/tinydns-ano/root ; make ) - ( cd / ; ln -s /services/dnscache /service/dnscache ) - ( cd / ; ln -s /services/tinydns /service/tinydns ) - ( cd / ; ln -s /services/tinydns-ano /service/tinydns-ano ) - ( cd / ; ln -s /services/tinydns-root /service/tinydns-root ) - ( cd /service ; sleep 5 ; svc -t dnscache tinydns tinydns-ano tinydns-root ) + ( + cd / + ln -s /services/dnscache /service/dnscache + ln -s /services/tinydns /service/tinydns + ln -s /services/tinydns-ano /service/tinydns-ano + ln -s /services/tinydns-root /service/tinydns-root + cd /service ; sleep 5 ; svc -t dnscache tinydns tinydns-ano tinydns-root + ) + } + +INSTALL_DJBDNS(){ + echo -e '\nINSTALL DJBDNS:\n' + [[ $(echo X`which gcc`) == X ]] && echo ' fatal error: cannot find gcc' + [[ $(echo X`which gcc`) == X ]] && exit 1 + [[ $(echo X`which make`) == X ]] && echo ' fatal error: cannot find make' + [[ $(echo X`which make`) == X ]] && exit 1 + [[ $(echo X`which tcpserver`) == X ]] && echo ' fatal error: needs ./contrib/peer2anonet/peer2nonet --install-ucspi-tcp' + [[ $(echo X`which tcpserver`) == X ]] && exit 1 + [[ $(echo X`which svscanboot`) == X ]] && echo ' fatal error: needs ./contrib/peer2anonet/peer2nonet --install-daemontools' + [[ $(echo X`which svscanboot`) == X ]] && exit 1 + cd /usr/local/src + wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz + gunzip djbdns-1.05.tar + tar -xf djbdns-1.05.tar + cd djbdns-1.05 + echo gcc -O2 -include /usr/include/errno.h > conf-cc + make + make setup check + } + +UPDATE_DNS(){ + if [ -e /etc/peer2anonet/p2a.conf ]; then + source /etc/peer2anonet/p2a.conf + else + CONFIGURE + exit 0 + fi + + [[ $(echo X`which tcpserver`) == X ]] && echo ' fatal error: needs ./contrib/peer2anonet/peer2nonet --install-ucspi-tcp' + [[ $(echo X`which tcpserver`) == X ]] && exit 1 + [[ $(echo X`which svscanboot`) == X ]] && echo ' fatal error: needs ./contrib/peer2anonet/peer2nonet --install-daemontools' + [[ $(echo X`which svscanboot`) == X ]] && exit 1 + + if [ -e /services/tinydns-ano ]; then + ( + cd /services + echo "creating /etc/peer2anonet/tinydns-ano.tar backup" + tar cf /etc/peer2anonet/tinydns-ano.tar tinydns-ano + ) + fi + + echo -e '\nUPDATE DNS:\n' + ./scripts/nameserver_autogen/tinydns_tld_datafile > /services/tinydns-ano/root/data + ( cd /services/tinydns-ano/root ; make ) + + ( + cd /service + sleep 5 + svc -t dnscache tinydns tinydns-ano tinydns-root + ) } @@ -495,6 +546,8 @@ INSTALL_DJBDNS elif [ "$1" == '--configure-dns' ]; then CONFIGURE_DNS +elif [ "$1" == '--update-dns' ]; then + UPDATE_DNS else USAGE fi