mirror of
				https://github.com/iiab/iiab.git
				synced 2025-03-09 15:40:17 +00:00 
			
		
		
		
	Merge branch 'net_warn' of https://github.com/jvonau/iiab into net_warn
This commit is contained in:
		
						commit
						0bfd4fc193
					
				
					 11 changed files with 111 additions and 30 deletions
				
			
		| 
						 | 
				
			
			@ -202,17 +202,6 @@
 | 
			
		|||
    # group: root
 | 
			
		||||
    mode: 0755
 | 
			
		||||
 | 
			
		||||
- name: Install /usr/bin/iiab-internet-on|off from template (root:root by default)
 | 
			
		||||
  template:
 | 
			
		||||
    src: "{{ item }}"
 | 
			
		||||
    dest: /usr/bin/
 | 
			
		||||
    # owner: root
 | 
			
		||||
    # group: root
 | 
			
		||||
    mode: 0755
 | 
			
		||||
  with_items:
 | 
			
		||||
    - gateway/iiab-internet-on
 | 
			
		||||
    - gateway/iiab-internet-off
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
- name: Add 'squid' variable values to {{ iiab_ini_file }} - if squid_installed is defined
 | 
			
		||||
  ini_file:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,14 +1,14 @@
 | 
			
		|||
- name: Unmask the Access Point 'hostapd' service
 | 
			
		||||
  systemd:
 | 
			
		||||
    name: hostapd
 | 
			
		||||
    enabled: no
 | 
			
		||||
    masked: no
 | 
			
		||||
 | 
			
		||||
- name: Disable hostapd when not using ap0 and wifi gateway present, or no WiFi hardware present or support not detected
 | 
			
		||||
  set_fact:
 | 
			
		||||
    hostapd_enabled: False
 | 
			
		||||
  when: (not wifi_up_down and discovered_wireless_iface == iiab_wan_iface) or discovered_wireless_iface == "none" or not can_be_ap
 | 
			
		||||
 | 
			
		||||
- name: Disable the Access Point 'hostapd' service
 | 
			
		||||
  systemd:
 | 
			
		||||
    name: hostapd
 | 
			
		||||
    enabled: no
 | 
			
		||||
  when: not hostapd_enabled
 | 
			
		||||
 | 
			
		||||
- name: Detect current Wifi channel
 | 
			
		||||
  shell: iw {{ discovered_wireless_iface }} info | grep channel | cut -d' ' -f2
 | 
			
		||||
  register: current_client_channel
 | 
			
		||||
| 
						 | 
				
			
			@ -22,10 +22,12 @@
 | 
			
		|||
- name: Generate new random mac address for ap0
 | 
			
		||||
  shell: tr -dc A-F0-9 < /dev/urandom | head -c 10 | sed -r 's/(..)/\1:/g;s/:$//;s/^/02:/'
 | 
			
		||||
  register: ap0_mac
 | 
			
		||||
  when: can_be_ap
 | 
			
		||||
 | 
			
		||||
- name: Setting ap0 mac address for use in hostapd service file
 | 
			
		||||
  set_fact:
 | 
			
		||||
    ap0_mac_addr: "{{ ap0_mac.stdout }}"
 | 
			
		||||
  when: can_be_ap
 | 
			
		||||
 | 
			
		||||
- name: "Use custom 'hostapd' systemd service unit file using ap0 -- install from template: /etc/systemd/system/hostapd.service, /etc/systemd/system/iiab-clone-wifi.service, /etc/systemd/system/iiab-wifi-test.service, /usr/sbin/iiab-test-wifi"
 | 
			
		||||
  template:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,6 +45,14 @@
 | 
			
		|||
#     dest: /etc/network/if-pre-up.d/iptables
 | 
			
		||||
#     mode: '0755'
 | 
			
		||||
 | 
			
		||||
-- name: Unmask the Access Point 'hostapd' service
 | 
			
		||||
   systemd:
 | 
			
		||||
     name: hostapd
 | 
			
		||||
     enabled: no
 | 
			
		||||
     masked: no
 | 
			
		||||
 | 
			
		||||
- name: avahi
 | 
			
		||||
  include_tasks: avahi.yml
 | 
			
		||||
 | 
			
		||||
# Ongoing rework (e.g. PR #2652) arising from ansible.posix collection changes:
 | 
			
		||||
- name: "4 network settings in /etc/sysctl.conf -- e.g. disabling IPv6 (this might be overkill, as IPv6 should really only be disabled on the LAN side, i.e. br0)"
 | 
			
		||||
| 
						 | 
				
			
			@ -61,12 +69,12 @@
 | 
			
		|||
    #- { name: 'net.ipv6.conf.lo.disable_ipv6', value: '1' }         # BY ABOVE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# UNMAINTAINED
 | 
			
		||||
# UNUSED
 | 
			
		||||
#- name: Install named / BIND
 | 
			
		||||
#  include_tasks: roles/network/tasks/named.yml
 | 
			
		||||
#  when: named_install is defined and named_install
 | 
			
		||||
 | 
			
		||||
# UNMAINTAINED
 | 
			
		||||
# UNUSED
 | 
			
		||||
#- name: Install dhcpd
 | 
			
		||||
#  include_tasks: roles/network/tasks/dhcpd.yml
 | 
			
		||||
#  when: dhcpd_install is defined and dhcpd_install
 | 
			
		||||
| 
						 | 
				
			
			@ -76,6 +84,54 @@
 | 
			
		|||
  include_tasks: roles/network/tasks/squid.yml
 | 
			
		||||
  when: squid_install and squid_installed is undefined
 | 
			
		||||
 | 
			
		||||
  #preprep for backends
 | 
			
		||||
- name: Netplan in use on Ubuntu 18.04+
 | 
			
		||||
  include_tasks: netplan.yml
 | 
			
		||||
  when: is_ubuntu
 | 
			
		||||
 | 
			
		||||
# all installs
 | 
			
		||||
- name: Install /usr/bin/iiab-internet-on|off from template (root:root by default)
 | 
			
		||||
  template:
 | 
			
		||||
    src: "{{ item }}"
 | 
			
		||||
    dest: /usr/bin/
 | 
			
		||||
    # owner: root
 | 
			
		||||
    # group: root
 | 
			
		||||
    mode: 0755
 | 
			
		||||
  with_items:
 | 
			
		||||
    - gateway/iiab-internet-on
 | 
			
		||||
    - gateway/iiab-internet-off
 | 
			
		||||
 | 
			
		||||
# mate desktop detection based on 'register: nd_dir' in enable_services
 | 
			
		||||
- name: Check if /usr/share/mate/autostart/ exists
 | 
			
		||||
  stat:
 | 
			
		||||
    path: /usr/share/mate/autostart/
 | 
			
		||||
  register: mate_dir
 | 
			
		||||
 | 
			
		||||
# contents work with mate as of 'switch to using dash via sh'
 | 
			
		||||
# 'text' is up for debate other structural changes I do not recommend JV
 | 
			
		||||
# if need be cut a second version for RasPiOS
 | 
			
		||||
 | 
			
		||||
- name: Link /usr/local/sbin/netwarn to {{ iiab_dir }}/scripts/netwarn
 | 
			
		||||
  file:
 | 
			
		||||
    src: "{{ iiab_dir }}/scripts/netwarn.sh"
 | 
			
		||||
    dest: /usr/local/sbin/netwarn
 | 
			
		||||
    state: link
 | 
			
		||||
  when: mate_dir.stat.exists and mate_dir.stat.isdir
 | 
			
		||||
 | 
			
		||||
- name: Link /usr/share/mate/autostart/netwarn-iiab-network.desktop to {{ iiab_dir }}/scripts/netwarn-iiab-network.desktop
 | 
			
		||||
  file:
 | 
			
		||||
    src: "{{ iiab_dir }}/scripts/netwarn-iiab-network.desktop"
 | 
			
		||||
    dest: /usr/share/mate/autostart/netwarn-iiab-network.desktop
 | 
			
		||||
    state: link
 | 
			
		||||
  when: mate_dir.stat.exists and mate_dir.stat.isdir
 | 
			
		||||
 | 
			
		||||
# RpiOS detection based on register: lx in pwd-warnings.yml
 | 
			
		||||
- name: Is /etc/xdg/lxsession/LXDE-pi a directory?
 | 
			
		||||
  stat:
 | 
			
		||||
    path: /etc/xdg/lxsession/LXDE-pi
 | 
			
		||||
  register: lx
 | 
			
		||||
 | 
			
		||||
# clairify usage
 | 
			
		||||
 | 
			
		||||
- name: "Set 'network_installed: True'"
 | 
			
		||||
  set_fact:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,14 +59,7 @@
 | 
			
		|||
#    include_tasks: squid.yml
 | 
			
		||||
#    when: squid_install and FQDN_changed and iiab_stage|int == 9
 | 
			
		||||
 | 
			
		||||
  #preprep for backends
 | 
			
		||||
  - name: Netplan in use on Ubuntu 18.04+
 | 
			
		||||
    include_tasks: netplan.yml
 | 
			
		||||
    when: is_ubuntu and not is_ubuntu_16
 | 
			
		||||
 | 
			
		||||
  #### Start services
 | 
			
		||||
  - name: avahi
 | 
			
		||||
    include_tasks: avahi.yml
 | 
			
		||||
  - name: hostapd
 | 
			
		||||
    include_tasks: hostapd.yml
 | 
			
		||||
  - name: computed_services
 | 
			
		||||
| 
						 | 
				
			
			@ -101,3 +94,9 @@
 | 
			
		|||
    include_tasks: restart.yml
 | 
			
		||||
  # end block
 | 
			
		||||
  when: network_installed is defined and network_enabled
 | 
			
		||||
 | 
			
		||||
- name: Create {{ iiab_etc_path }}/install-flags/iiab-network-complete on second pass of network role.
 | 
			
		||||
  file:
 | 
			
		||||
    path: "{{ iiab_etc_path }}/install-flags/iiab-network-complete"
 | 
			
		||||
    state: touch
 | 
			
		||||
  when: iiab_stage|int == 9
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,3 @@
 | 
			
		|||
#!/bin/bash -e
 | 
			
		||||
cd /opt/iiab/iiab
 | 
			
		||||
sudo ./iiab-network
 | 
			
		||||
rc=$?
 | 
			
		||||
if [[ $rc == "0" ]]; then
 | 
			
		||||
    sudo touch /etc/iiab/install-flags/iiab-network-complete
 | 
			
		||||
fi
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										10
									
								
								scripts/netwarn-iiab-network.desktop
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								scripts/netwarn-iiab-network.desktop
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
[Desktop Entry]
 | 
			
		||||
Name[en_US]=iiab-network
 | 
			
		||||
Comment[en_US]=iiab-network
 | 
			
		||||
Name[en_CA]=iiab-network
 | 
			
		||||
Comment[en_CA]=iiab-network
 | 
			
		||||
Type=Application
 | 
			
		||||
Exec=/usr/local/sbin/netwarn
 | 
			
		||||
Hidden=false
 | 
			
		||||
Name=iiab-network
 | 
			
		||||
Comment=iiab-network
 | 
			
		||||
							
								
								
									
										29
									
								
								scripts/netwarn.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								scripts/netwarn.sh
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
if [ -f /etc/iiab/install-flags/iiab-network-complete ]; then
 | 
			
		||||
    exit
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
zenity --question --width=350 --text="IIAB needs to configure networking:\n\n► Internet must be live before you begin.\n►You might be prompted for your password.\n\nContinue?"
 | 
			
		||||
case $? in
 | 
			
		||||
    -1|5)
 | 
			
		||||
        exit 1
 | 
			
		||||
        ;;
 | 
			
		||||
 | 
			
		||||
    1)
 | 
			
		||||
        exit 0
 | 
			
		||||
        ;;
 | 
			
		||||
 | 
			
		||||
    0)
 | 
			
		||||
        x-terminal-emulator -e /usr/local/bin/iiab-network
 | 
			
		||||
        ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
if [ "$?" = "1" ]; then
 | 
			
		||||
    zenity --warning --width=350 --text="iiab-network exited with error.\n\nPlease review /opt/iiab/iiab/iiab-network.log"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
zenity --question --width=350 --text="iiab-network complete.\n\nWould you like to REBOOT now? (Recommended)"
 | 
			
		||||
if [ "$?" = "0" ]; then
 | 
			
		||||
    x-terminal-emulator -e "sudo reboot"
 | 
			
		||||
fi
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue