New super- and exitnode installation V 3.0.0
This commit is contained in:
		
							parent
							
								
									17893e5e7c
								
							
						
					
					
						commit
						e82587b46a
					
				@ -1,51 +0,0 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					 | 
				
			||||||
# Version 1.6
 | 
					 | 
				
			||||||
# Parameter setzen
 | 
					 | 
				
			||||||
GATEWAY1ext=185.66.193.105
 | 
					 | 
				
			||||||
GATEWAY2ext=185.66.193.106
 | 
					 | 
				
			||||||
GATEWAY1=10.188.255.5
 | 
					 | 
				
			||||||
GATEWAY2=10.188.255.6
 | 
					 | 
				
			||||||
GATEWAY1v6=2a03:2260:121::255:5
 | 
					 | 
				
			||||||
GATEWAY2v6=2a03:2260:121::255:6
 | 
					 | 
				
			||||||
IP=/sbin/ip
 | 
					 | 
				
			||||||
PING=/bin/ping
 | 
					 | 
				
			||||||
BATCTL=/usr/local/sbin/batctl
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#if [ "hostname = troisdorf1 | troisdorf2" ]
 | 
					 | 
				
			||||||
if [ $(hostname) = "troisdorf1" ] || [ $(hostname) = "troisdorf2" ]
 | 
					 | 
				
			||||||
    then
 | 
					 | 
				
			||||||
        DEFAULT_GATEWAY=$GATEWAY1
 | 
					 | 
				
			||||||
	DEFAULT_GATEWAYext=$GATEWAY1ext
 | 
					 | 
				
			||||||
        FALLBACK_GATEWAY=$GATEWAY2
 | 
					 | 
				
			||||||
	FALLBACK_GATEWAYext=$GATEWAY2ext
 | 
					 | 
				
			||||||
	DEFAULT_GATEWAYv6=$GATEWAY1v6
 | 
					 | 
				
			||||||
	FALLBACK_GATEWAYv6=$GATEWAY2v6
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        DEFAULT_GATEWAY=$GATEWAY2
 | 
					 | 
				
			||||||
	DEFAULT_GATEWAYext=$GATEWAY2ext
 | 
					 | 
				
			||||||
        FALLBACK_GATEWAY=$GATEWAY1
 | 
					 | 
				
			||||||
        FALLBACK_GATEWAYext=$GATEWAY1ext
 | 
					 | 
				
			||||||
	DEFAULT_GATEWAYv6=$GATEWAY2v6
 | 
					 | 
				
			||||||
	FALLBACK_GATEWAYv6=$GATEWAY1v6
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if $PING -c 1 $DEFAULT_GATEWAYext
 | 
					 | 
				
			||||||
        then
 | 
					 | 
				
			||||||
                $IP route replace default via $DEFAULT_GATEWAY table 42
 | 
					 | 
				
			||||||
                $IP -6 route replace default via $DEFAULT_GATEWAYv6 table 42
 | 
					 | 
				
			||||||
                $BATCTL gw server 100Mbit/100Mbit
 | 
					 | 
				
			||||||
                echo "Gateway erreichbar"
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
        if $PING -c 1 $FALLBACK_GATEWAYext
 | 
					 | 
				
			||||||
            then
 | 
					 | 
				
			||||||
                $IP route replace default via $FALLBACK_GATEWAY table 42
 | 
					 | 
				
			||||||
                $IP -6 route replace default via $FALLBACK_GATEWAYv6 table 42
 | 
					 | 
				
			||||||
                $BATCTL gw server 80Mbit/80Mbit
 | 
					 | 
				
			||||||
                echo "Nun FALLBACK_GATEWAY"
 | 
					 | 
				
			||||||
            else
 | 
					 | 
				
			||||||
                $BATCTL gw off
 | 
					 | 
				
			||||||
                #Kein Gateway erreichbar, batctl gw off
 | 
					 | 
				
			||||||
        fi
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@ -1,10 +1,29 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# -q quiet
 | 
				
			||||||
 | 
					# -c nb of pings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ping -q -I {{ sn_ffrl_IPv4 }} 8.8.8.8 -c 4 -i 1 -W 5 >/dev/null 2>&1
 | 
					HOST1=8.8.8.8
 | 
				
			||||||
 | 
					HOST2=8.8.4.4
 | 
				
			||||||
 | 
					BATCTL=/usr/local/sbin/batctl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if test $? -eq 0; then
 | 
					ping -q -c5 $HOST1 > /dev/null
 | 
				
			||||||
    /usr/local/sbin/batctl gw server 100Mbit/100Mbit
 | 
					if [ $? -eq 0 ]
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					        echo "ok"
 | 
				
			||||||
 | 
					        $BATCTL gw server 100Mbit/100Mbit
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
    /usr/local/sbin/batctl gw off
 | 
					
 | 
				
			||||||
 | 
					        echo "$HOST1 NICHT ok"
 | 
				
			||||||
 | 
					        ping -q -c5 $HOST2 > /dev/null
 | 
				
			||||||
 | 
					        if [ $? -eq 0 ]
 | 
				
			||||||
 | 
					                then
 | 
				
			||||||
 | 
					                        echo "$HOST2 ok"
 | 
				
			||||||
 | 
					                        $BATCTL gw server 100Mbit/100Mbit
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                        echo "$HOST2 NICHT ok"
 | 
				
			||||||
 | 
					                        $BATCTL gw off
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,7 @@
 | 
				
			|||||||
  user: root
 | 
					  user: root
 | 
				
			||||||
  gather_facts: False
 | 
					  gather_facts: False
 | 
				
			||||||
  vars:
 | 
					  vars:
 | 
				
			||||||
    snversion: master_v2.9000001_beta
 | 
					    snversion: master_v3.0.0
 | 
				
			||||||
    batmanversion: v2015.2
 | 
					    batmanversion: v2015.2
 | 
				
			||||||
    common_required_packages:
 | 
					    common_required_packages:
 | 
				
			||||||
      - git
 | 
					      - git
 | 
				
			||||||
@ -192,21 +192,18 @@
 | 
				
			|||||||
      with_items: logrotate_config
 | 
					      with_items: logrotate_config
 | 
				
			||||||
    - name: Create freifunk directory
 | 
					    - name: Create freifunk directory
 | 
				
			||||||
      file: path=/opt/freifunk state=directory mode=0755
 | 
					      file: path=/opt/freifunk state=directory mode=0755
 | 
				
			||||||
    - name: Check gateway / keepalive script
 | 
					    - name: Check gateway / keepalive script supernode
 | 
				
			||||||
      copy: src=./files/{{ item }} dest=/opt/freifunk owner=root group=root mode=0500
 | 
					      copy: src=./files/{{ item }} dest=/opt/freifunk owner=root group=root mode=0500
 | 
				
			||||||
      with_items: check_gw_script
 | 
					      with_items: check_gw_script
 | 
				
			||||||
      register: check_gw
 | 
					      register: check_gw
 | 
				
			||||||
      when: sn_exit is undefined
 | 
					      when: sn_exit is undefined
 | 
				
			||||||
 | 
					    - name: Check gateway / keepalive script super- and exitnode
 | 
				
			||||||
    - name: Check gateway / keepalive script
 | 
					 | 
				
			||||||
      template: src=./files/keepalive.exit.sh.j2 dest=/opt/freifunk/keepalive.sh owner=root group=root mode=0500
 | 
					      template: src=./files/keepalive.exit.sh.j2 dest=/opt/freifunk/keepalive.sh owner=root group=root mode=0500
 | 
				
			||||||
      register: check_gw
 | 
					      register: check_gw
 | 
				
			||||||
      when: sn_exit is defined
 | 
					      when: sn_exit is defined
 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: Add cron job with check gateway script
 | 
					    - name: Add cron job with check gateway script
 | 
				
			||||||
      cron: name=check_gw job="/opt/freifunk/keepalive.sh > /dev/null 2>&1" user="root" 
 | 
					      cron: name=check_gw job="/opt/freifunk/keepalive.sh > /dev/null 2>&1" user="root" 
 | 
				
			||||||
      when: check_gw.changed
 | 
					      when: check_gw.changed
 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: Tunneldigger stats
 | 
					    - name: Tunneldigger stats
 | 
				
			||||||
      copy: src=./files/{{ item }} dest=/opt/freifunk owner=root group=root mode=0500
 | 
					      copy: src=./files/{{ item }} dest=/opt/freifunk owner=root group=root mode=0500
 | 
				
			||||||
      with_items: tunneld_stats_file
 | 
					      with_items: tunneld_stats_file
 | 
				
			||||||
@ -215,8 +212,6 @@
 | 
				
			|||||||
    - name: Add cron job tunneldigger stats
 | 
					    - name: Add cron job tunneldigger stats
 | 
				
			||||||
      cron: name=tunneld_stats job="/opt/freifunk/collectd_td_stat.sh > /dev/null 2>&1" user="root"
 | 
					      cron: name=tunneld_stats job="/opt/freifunk/collectd_td_stat.sh > /dev/null 2>&1" user="root"
 | 
				
			||||||
      when: tunneld_stats.changed
 | 
					      when: tunneld_stats.changed
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: Copy dhcpd template file
 | 
					    - name: Copy dhcpd template file
 | 
				
			||||||
      template: src=./files/dhcpd.conf.j2 dest=/etc/dhcp/dhcpd.conf owner=root group=root mode=0444
 | 
					      template: src=./files/dhcpd.conf.j2 dest=/etc/dhcp/dhcpd.conf owner=root group=root mode=0444
 | 
				
			||||||
      register: dhcpd
 | 
					      register: dhcpd
 | 
				
			||||||
@ -235,23 +230,24 @@
 | 
				
			|||||||
      cron: name=backbone special_time=reboot job="/opt/freifunk/l2tp_backbone.sh"
 | 
					      cron: name=backbone special_time=reboot job="/opt/freifunk/l2tp_backbone.sh"
 | 
				
			||||||
    - name: Add cron startup script
 | 
					    - name: Add cron startup script
 | 
				
			||||||
      cron: name=startup special_time=reboot job="/opt/freifunk/sn_startup.sh"
 | 
					      cron: name=startup special_time=reboot job="/opt/freifunk/sn_startup.sh"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: Copy backbone script
 | 
					    - name: Copy backbone script
 | 
				
			||||||
      template: src=./files/l2tp_backbone.sh.j2 dest=/opt/freifunk/l2tp_backbone.sh owner=root group=root mode=0544
 | 
					      template: src=./files/l2tp_backbone.sh.j2 dest=/opt/freifunk/l2tp_backbone.sh owner=root group=root mode=0544
 | 
				
			||||||
      when: sn_exit is undefined 
 | 
					      when: sn_exit is undefined 
 | 
				
			||||||
    - name: Copy backbone script
 | 
					    - name: Copy backbone script
 | 
				
			||||||
      template: src=./files/l2tp_backbone.sh.exit.j2 dest=/opt/freifunk/l2tp_backbone.sh owner=root group=root mode=0544
 | 
					      template: src=./files/l2tp_backbone.sh.exit.j2 dest=/opt/freifunk/l2tp_backbone.sh owner=root group=root mode=0544
 | 
				
			||||||
      when: sn_exit is defined
 | 
					      when: sn_exit is defined
 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: Collectd template file
 | 
					    - name: Collectd template file
 | 
				
			||||||
      template: src=./files/collectd.conf.j2 dest=/etc/collectd/collectd.conf owner=root group=root mode=0444
 | 
					      template: src=./files/collectd.conf.j2 dest=/etc/collectd/collectd.conf owner=root group=root mode=0444
 | 
				
			||||||
      register: collectd
 | 
					      register: collectd
 | 
				
			||||||
    - name: Restart collectd
 | 
					    - name: Restart collectd
 | 
				
			||||||
      service: name=collectd state=restarted
 | 
					      service: name=collectd state=restarted
 | 
				
			||||||
      when: collectd.changed
 | 
					      when: collectd.changed
 | 
				
			||||||
    - name: configure startup script
 | 
					    - name: configure startup script supernode
 | 
				
			||||||
      template: src=./files/sn_startup.sh.j2 dest=/opt/freifunk/sn_startup.sh owner=root group=root mode=0500
 | 
					      template: src=./files/sn_startup.sh.j2 dest=/opt/freifunk/sn_startup.sh owner=root group=root mode=0500
 | 
				
			||||||
      when: sn_exit is undefined
 | 
					      when: sn_exit is undefined
 | 
				
			||||||
 | 
					    - name: Exit node startup script super- and exitnode
 | 
				
			||||||
 | 
					      template: src=./files/sn_startup.exit.sh.j2 dest=/opt/freifunk/sn_startup.sh owner=root group=root mode=0500
 | 
				
			||||||
 | 
					      when: sn_exit is defined
 | 
				
			||||||
    - name: SSH authorized_keys
 | 
					    - name: SSH authorized_keys
 | 
				
			||||||
      copy: src=./files/{{ item }} dest=/root/.ssh owner=root group=root mode=0400
 | 
					      copy: src=./files/{{ item }} dest=/root/.ssh owner=root group=root mode=0400
 | 
				
			||||||
      with_items: authorized_keys
 | 
					      with_items: authorized_keys
 | 
				
			||||||
@ -271,9 +267,6 @@
 | 
				
			|||||||
    - name: Interface configuration with ffrl gre tunnel
 | 
					    - name: Interface configuration with ffrl gre tunnel
 | 
				
			||||||
      copy: src=./files/interfaces-{{ sn_hostname }} dest=/etc/network/interfaces owner=root group=root mode=0544
 | 
					      copy: src=./files/interfaces-{{ sn_hostname }} dest=/etc/network/interfaces owner=root group=root mode=0544
 | 
				
			||||||
      when: sn_exit is defined
 | 
					      when: sn_exit is defined
 | 
				
			||||||
    - name: Exit node startup script
 | 
					 | 
				
			||||||
      template: src=./files/sn_startup.exit.sh.j2 dest=/opt/freifunk/sn_startup.sh owner=root group=root mode=0500
 | 
					 | 
				
			||||||
      when: sn_exit is defined
 | 
					 | 
				
			||||||
    - apt: update_cache=yes
 | 
					    - apt: update_cache=yes
 | 
				
			||||||
    - name: Install bird
 | 
					    - name: Install bird
 | 
				
			||||||
      apt: state=installed pkg=bird
 | 
					      apt: state=installed pkg=bird
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user