mirror of
				https://github.com/iiab/iiab.git
				synced 2025-03-09 15:40:17 +00:00 
			
		
		
		
	backport of 46c36b3e3542ffe5609ab5cc10a60de7335d6cd9
backport of c837cde92304cfaf4a44c31dfb40bbadfd05fe04 backport of a0102669d2d842163d17d61e254dbd0ba8a3ea92 touch up backport of a55c0555b6fb92a6b6b239a9dce2fde2100e7ae5
This commit is contained in:
		
							parent
							
								
									fccf3c6312
								
							
						
					
					
						commit
						c3b9067ffe
					
				
					 5 changed files with 79 additions and 22 deletions
				
			
		| 
						 | 
				
			
			@ -47,14 +47,51 @@
 | 
			
		|||
  file: path=/tmp/heart-beat.txt
 | 
			
		||||
        state=absent
 | 
			
		||||
 | 
			
		||||
- name: no prior domain name
 | 
			
		||||
- name: set FQDN
 | 
			
		||||
  set_fact:
 | 
			
		||||
    iiab_domain: "{{ iiab_domain }}"
 | 
			
		||||
    iiab_hostname: "{{ iiab_hostname }}"
 | 
			
		||||
    iiab_fqdn: "{{ iiab_hostname }}.{{ iiab_domain }}"
 | 
			
		||||
    FQDN_changed: False
 | 
			
		||||
 | 
			
		||||
- name: FQDN changed
 | 
			
		||||
  set_fact:
 | 
			
		||||
    FQDN_changed: True
 | 
			
		||||
  when: iiab_fqdn != ansible_fqdn
 | 
			
		||||
 | 
			
		||||
# Now check FQDN
 | 
			
		||||
- include: roles/2-common/tasks/hostname.yml
 | 
			
		||||
  when: not first_run and "iiab_hostname.iiab_domain" != ansible_fqdn
 | 
			
		||||
  when: not first_run and FQDN_changed
 | 
			
		||||
 | 
			
		||||
# Discover  do we have a gateway? -- if ansible detects gateway, becomes WAN candidate
 | 
			
		||||
- name: Finding gateway
 | 
			
		||||
  set_fact:
 | 
			
		||||
    discovered_wan_iface: "{{ ansible_default_ipv4.alias }}"
 | 
			
		||||
  when: 'ansible_default_ipv4.gateway is defined'
 | 
			
		||||
 | 
			
		||||
- name: Verify gateway present
 | 
			
		||||
  shell: ping -c4 "{{ ansible_default_ipv4.gateway }}" &> /dev/null ; echo $?
 | 
			
		||||
  when: discovered_wan_iface != "none"
 | 
			
		||||
  register: gw_active_test
 | 
			
		||||
 | 
			
		||||
- name: Recording gateway response
 | 
			
		||||
  set_fact:
 | 
			
		||||
     gw_active: True
 | 
			
		||||
  when: discovered_wan_iface != "none" and gw_active_test.stdout == "0"
 | 
			
		||||
 | 
			
		||||
- name: Test for internet access
 | 
			
		||||
  get_url: url="{{ iiab_download_url }}/heart-beat.txt" dest=/tmp/heart-beat.txt
 | 
			
		||||
  ignore_errors: True
 | 
			
		||||
#  async: 10
 | 
			
		||||
#  poll: 2
 | 
			
		||||
  register: internet_access_test
 | 
			
		||||
 | 
			
		||||
- name: Set internet_available true if wget succeeded
 | 
			
		||||
  set_fact:
 | 
			
		||||
     internet_available: True
 | 
			
		||||
  when: not internet_access_test|failed and not disregard_network
 | 
			
		||||
 | 
			
		||||
- name: Cleanup internet test file
 | 
			
		||||
  file: path=/tmp/heart-beat.txt
 | 
			
		||||
        state=absent
 | 
			
		||||
 | 
			
		||||
# Put all computed vars here so derive properly from any prior var file
 | 
			
		||||
- name: If the TZ is not set in env, set it to UTC
 | 
			
		||||
| 
						 | 
				
			
			@ -190,3 +227,9 @@
 | 
			
		|||
      value:  '{{ gw_active }}'
 | 
			
		||||
    - option: 'internet_available'
 | 
			
		||||
      value:  '{{ internet_available }}'
 | 
			
		||||
    - option: 'first_run'
 | 
			
		||||
      value:  '{{ first_run }}'
 | 
			
		||||
    - option: 'local_tz'
 | 
			
		||||
      value:  '{{ local_tz }}'
 | 
			
		||||
    - option: 'FQDN_changed'
 | 
			
		||||
      value:  '{{ FQDN_changed }}'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
- name: iiab_wan_device
 | 
			
		||||
  shell: "cat /etc/sysconfig/iiab_wan_device"
 | 
			
		||||
  register: prior_gw
 | 
			
		||||
  shell: grep IIAB_WAN_DEVICE /etc/iiab/iiab.env | awk -F "=" '{print $2}'
 | 
			
		||||
  when: not first_run
 | 
			
		||||
  register: prior_gw
 | 
			
		||||
 | 
			
		||||
- name: Checking for old device gateway interface for device test
 | 
			
		||||
  set_fact:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,9 +50,11 @@
 | 
			
		|||
  when: not dansguardian_enabled and dansguardian_install
 | 
			
		||||
 | 
			
		||||
- name: Create xs_httpcache flag
 | 
			
		||||
  shell: echo 1 > /etc/sysconfig/xs_httpcache_on
 | 
			
		||||
         creates=/etc/sysconfig/xs_httpcache_on
 | 
			
		||||
  when: squid_enabled
 | 
			
		||||
  lineinfile: dest=/etc/iiab/iiab.env
 | 
			
		||||
              regexp='^HTTPCACHE_ON=*'
 | 
			
		||||
              line='HTTPCACHE_ON=True'
 | 
			
		||||
              state=present
 | 
			
		||||
  when: squid_enabled and squid_install
 | 
			
		||||
 | 
			
		||||
- name: Enable Squid service
 | 
			
		||||
  service: name={{ proxy }}
 | 
			
		||||
| 
						 | 
				
			
			@ -85,8 +87,10 @@
 | 
			
		|||
  when: not squid_enabled and squid_install
 | 
			
		||||
 | 
			
		||||
- name: Remove xs_httpcache flag
 | 
			
		||||
  file: path=/etc/sysconfig/xs_httpcache_on
 | 
			
		||||
        state=absent
 | 
			
		||||
  lineinfile: dest=/etc/iiab/iiab.env
 | 
			
		||||
              regexp='^HTTPCACHE_ON=*'
 | 
			
		||||
              line='HTTPCACHE_ON=False'
 | 
			
		||||
              state=present
 | 
			
		||||
  when: not squid_enabled
 | 
			
		||||
 | 
			
		||||
- name: Enable Wondershaper service
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,17 +72,26 @@
 | 
			
		|||
    - network
 | 
			
		||||
  when: is_debuntu and is_rpi  and not installing
 | 
			
		||||
 | 
			
		||||
- name: Create IIAB network flags
 | 
			
		||||
  template: src=network/{{ item }}.j2
 | 
			
		||||
            dest=/etc/sysconfig/{{ item }}
 | 
			
		||||
            mode=0644
 | 
			
		||||
  with_items:
 | 
			
		||||
    - iiab_wan_device
 | 
			
		||||
    - iiab_lan_device
 | 
			
		||||
- name: Record iiab_wan_device
 | 
			
		||||
  lineinfile: dest=/etc/iiab/iiab.env
 | 
			
		||||
              regexp='^IIAB_WAN_DEVICE=*'
 | 
			
		||||
              line='IIAB_WAN_DEVICE="{{ iiab_wan_iface }}"'
 | 
			
		||||
              state=present
 | 
			
		||||
  when: not installing
 | 
			
		||||
  tags:
 | 
			
		||||
    - network
 | 
			
		||||
 | 
			
		||||
- name: Record iiab_lan_device
 | 
			
		||||
  lineinfile: dest=/etc/iiab/iiab.env
 | 
			
		||||
              regexp='^IIAB_LAN_DEVICE=*'
 | 
			
		||||
              line='IIAB_LAN_DEVICE="{{ iiab_lan_iface }}"'
 | 
			
		||||
              state=present
 | 
			
		||||
  when: not installing
 | 
			
		||||
  tags:
 | 
			
		||||
    - network
 | 
			
		||||
 | 
			
		||||
#### end network layout
 | 
			
		||||
#### start services
 | 
			
		||||
- include_tasks: computed_services.yml
 | 
			
		||||
  tags:
 | 
			
		||||
    - network
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
#!/bin/bash -x
 | 
			
		||||
source /etc/iiab/iiab.env
 | 
			
		||||
{% if is_debuntu %}
 | 
			
		||||
IPTABLES=/sbin/iptables
 | 
			
		||||
IPTABLES_DATA=/etc/iptables.up.rules
 | 
			
		||||
| 
						 | 
				
			
			@ -6,8 +7,8 @@ IPTABLES_DATA=/etc/iptables.up.rules
 | 
			
		|||
IPTABLES=/usr/sbin/iptables
 | 
			
		||||
IPTABLES_DATA=/etc/sysconfig/iptables
 | 
			
		||||
{% endif %}
 | 
			
		||||
LANIF=`cat /etc/sysconfig/iiab_lan_device`
 | 
			
		||||
WANIF=`cat /etc/sysconfig/iiab_wan_device`
 | 
			
		||||
LANIF=$IIAB_LAN_DEVICE
 | 
			
		||||
WANIF=$IIAB_WAN_DEVICE
 | 
			
		||||
MODE=`grep iiab_network_mode_applied  /etc/iiab/iiab.ini | gawk '{print $3}'`
 | 
			
		||||
 | 
			
		||||
clear_fw() {
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +34,7 @@ $IPTABLES -A INPUT -p tcp --dport 5984 -j DROP
 | 
			
		|||
$IPTABLES -A INPUT -p udp --dport 5984 -j DROP
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if [  "x$WANIF" == "x" ] || [ "$MODE" == 'Appliance' ]; then
 | 
			
		||||
if [  "x$WANIF" == "xnone" ] || [ "$MODE" == 'Appliance' ]; then
 | 
			
		||||
    clear_fw
 | 
			
		||||
    # save the rule set
 | 
			
		||||
	{% if is_debuntu %}
 | 
			
		||||
| 
						 | 
				
			
			@ -112,7 +113,7 @@ if [ "$block_DNS" == "True" ];then
 | 
			
		|||
    $IPTABLES -t nat -A PREROUTING -i $lan -p udp --dport 53 ! -d {{ lan_ip }} -j DNAT --to {{ lan_ip }}:53
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -f /etc/sysconfig/xs_httpcache_on ]; then
 | 
			
		||||
if [ "$HTTPCACHE_ON" == "True" ]; then
 | 
			
		||||
    $IPTABLES  -t nat  -A PREROUTING -i $lan -p tcp --dport 80 ! -d 172.18.96.1 -j DNAT --to 172.18.96.1:3128
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue