|
@@ -1734,12 +1734,8 @@ function mesh_babel {
|
1734
|
1734
|
echo ' sed -i "s|host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf' >> $babel_script
|
1735
|
1735
|
echo ' sed -i "s|use-ipv4=.*|use-ipv4=yes|g" /etc/avahi/avahi-daemon.conf' >> $babel_script
|
1736
|
1736
|
echo ' sed -i "s|use-ipv6=.*|use-ipv6=no|g" /etc/avahi/avahi-daemon.conf' >> $babel_script
|
1737
|
|
- echo ' sed -i "s|hosts:.*|hosts: files mdns4_minimal [NOTFOUND=return] dns $(hostname)|g" /etc/nsswitch.conf' >> $babel_script
|
1738
|
|
- echo ' if [ -f /bin/systemctl ]; then' >> $babel_script
|
1739
|
|
- echo ' systemctl restart avahi-daemon' >> $babel_script
|
1740
|
|
- echo ' else' >> $babel_script
|
1741
|
|
- echo ' service avahi-daemon restart' >> $babel_script
|
1742
|
|
- echo ' fi' >> $babel_script
|
|
1737
|
+ echo ' sed -i "s|hosts:.*|hosts: files mdns4_minimal dns mdns4 mdns|g" /etc/nsswitch.conf' >> $babel_script
|
|
1738
|
+ echo ' systemctl restart avahi-daemon' >> $babel_script
|
1743
|
1739
|
echo 'fi' >> $babel_script
|
1744
|
1740
|
echo '' >> $babel_script
|
1745
|
1741
|
echo "IFACE=$WIFI_INTERFACE" >> $babel_script
|
|
@@ -1767,19 +1763,11 @@ function mesh_babel {
|
1767
|
1763
|
echo ' fi' >> $babel_script
|
1768
|
1764
|
echo ' ifconfig $IFACE down' >> $babel_script
|
1769
|
1765
|
echo ' pkill babeld' >> $babel_script
|
1770
|
|
- echo ' if [ -f /bin/systemctl ]; then' >> $babel_script
|
1771
|
|
- echo ' systemctl restart network-manager' >> $babel_script
|
1772
|
|
- echo ' else' >> $babel_script
|
1773
|
|
- echo ' service network-manager restart' >> $babel_script
|
1774
|
|
- echo ' fi' >> $babel_script
|
|
1766
|
+ echo ' systemctl restart network-manager' >> $babel_script
|
1775
|
1767
|
echo ' exit 1' >> $babel_script
|
1776
|
1768
|
echo 'fi' >> $babel_script
|
1777
|
1769
|
echo '' >> $babel_script
|
1778
|
|
- echo 'if [ -f /bin/systemctl ]; then' >> $babel_script
|
1779
|
|
- echo ' systemctl stop network-manager' >> $babel_script
|
1780
|
|
- echo 'else' >> $babel_script
|
1781
|
|
- echo ' service network-manager stop' >> $babel_script
|
1782
|
|
- echo 'fi' >> $babel_script
|
|
1770
|
+ echo 'systemctl stop network-manager' >> $babel_script
|
1783
|
1771
|
echo 'ifconfig $IFACE down' >> $babel_script
|
1784
|
1772
|
echo -n 'iwconfig $IFACE mode ad-hoc channel ' >> $babel_script
|
1785
|
1773
|
echo "$WIFI_CHANNEL essid \"$ESSID\"" >> $babel_script
|
|
@@ -1834,11 +1822,22 @@ function mesh_batman_bridge {
|
1834
|
1822
|
echo 'batman_adv' >> /etc/modules
|
1835
|
1823
|
fi
|
1836
|
1824
|
|
1837
|
|
- enable_ipv6
|
1838
|
|
-
|
1839
|
1825
|
batman_script=/var/lib/batman
|
1840
|
1826
|
|
1841
|
|
- echo '#!/bin/sh' > $batman_script
|
|
1827
|
+ echo '#!/bin/bash' > $batman_script
|
|
1828
|
+ echo '' >> $batman_script
|
|
1829
|
+ echo 'if [[ $1 == "start" ]]; then' >> $batman_script
|
|
1830
|
+ echo ' # install avahi' >> $batman_script
|
|
1831
|
+ echo ' apt-get -y install avahi-utils avahi-autoipd avahi-daemon avahi-dnsconfd' >> $batman_script
|
|
1832
|
+ echo ' sed -i "s|#host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf' >> $batman_script
|
|
1833
|
+ echo ' sed -i "s|host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf' >> $batman_script
|
|
1834
|
+ echo ' sed -i "s|use-ipv4=.*|use-ipv4=yes|g" /etc/avahi/avahi-daemon.conf' >> $batman_script
|
|
1835
|
+ echo ' sed -i "s|use-ipv6=.*|use-ipv6=no|g" /etc/avahi/avahi-daemon.conf' >> $batman_script
|
|
1836
|
+ echo ' sed -i "s|hosts:.*|hosts: files mdns4_minimal dns mdns4 mdns|g" /etc/nsswitch.conf' >> $batman_script
|
|
1837
|
+ echo ' if ! grep -q "avahi-daemon" /etc/crontab; then' >> $batman_script
|
|
1838
|
+ echo " echo '* *\t* * *\troot\tsystemctl restart avahi-daemon > /dev/null' >> /etc/crontab" >> $batman_script
|
|
1839
|
+ echo ' fi' >> $batman_script
|
|
1840
|
+ echo 'fi' >> $batman_script
|
1842
|
1841
|
echo '' >> $batman_script
|
1843
|
1842
|
echo '# Mesh definition' >> $batman_script
|
1844
|
1843
|
echo "ESSID=$ESSID" >> $batman_script
|
|
@@ -1855,23 +1854,36 @@ function mesh_batman_bridge {
|
1855
|
1854
|
echo ' IFACE=wlan1' >> $batman_script
|
1856
|
1855
|
echo ' fi' >> $batman_script
|
1857
|
1856
|
echo 'fi' >> $batman_script
|
|
1857
|
+ echo 'if [[ $IFACE == "wlan0" ]]; then' >> $batman_script
|
|
1858
|
+ echo ' if grep -q "wlan2" /proc/net/dev; then' >> $batman_script
|
|
1859
|
+ echo ' IFACE=wlan2' >> $batman_script
|
|
1860
|
+ echo ' fi' >> $batman_script
|
|
1861
|
+ echo 'fi' >> $batman_script
|
|
1862
|
+ echo 'if [[ $IFACE == "wlan0" ]]; then' >> $batman_script
|
|
1863
|
+ echo ' if grep -q "wlan3" /proc/net/dev; then' >> $batman_script
|
|
1864
|
+ echo ' IFACE=wlan3' >> $batman_script
|
|
1865
|
+ echo ' fi' >> $batman_script
|
|
1866
|
+ echo 'fi' >> $batman_script
|
1858
|
1867
|
echo '' >> $batman_script
|
1859
|
1868
|
echo 'if [ -e /etc/default/batctl ]; then' >> $batman_script
|
1860
|
1869
|
echo ' . /etc/default/batctl' >> $batman_script
|
1861
|
1870
|
echo 'fi' >> $batman_script
|
1862
|
1871
|
echo '' >> $batman_script
|
1863
|
1872
|
echo 'start() {' >> $batman_script
|
1864
|
|
- echo ' if [ -z "$IFACE" ]; then' >> $batman_script
|
|
1873
|
+ echo ' if [ -z "$IFACE" ] ; then' >> $batman_script
|
1865
|
1874
|
echo ' echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> $batman_script
|
1866
|
1875
|
echo ' return' >> $batman_script
|
1867
|
1876
|
echo ' fi' >> $batman_script
|
1868
|
|
- echo ' sed -i "s|use-ipv4=.*|use-ipv4=yes|g" /etc/avahi/avahi-daemon.conf' >> $batman_script
|
1869
|
|
- echo ' sed -i "s|use-ipv6=.*|use-ipv6=no|g" /etc/avahi/avahi-daemon.conf' >> $batman_script
|
1870
|
|
- echo ' sed -i "s|hosts:.*|hosts: files mdns4_minimal dns mdns4 mdns|g" /etc/nsswitch.conf' >> $batman_script
|
1871
|
1877
|
echo ' echo "info: enabling batman-adv mesh network $ESSID on $IFACE"' >> $batman_script
|
|
1878
|
+
|
1872
|
1879
|
echo ' systemctl stop network-manager' >> $batman_script
|
1873
|
1880
|
echo ' sleep 5' >> $batman_script
|
1874
|
1881
|
echo '' >> $batman_script
|
|
1882
|
+ echo " # remove an avahi service which isn't used" >> $batman_script
|
|
1883
|
+ echo ' if [ -f /etc/avahi/services/udisks.service ]; then' >> $batman_script
|
|
1884
|
+ echo ' sudo rm /etc/avahi/services/udisks.service' >> $batman_script
|
|
1885
|
+ echo ' fi' >> $batman_script
|
|
1886
|
+ echo '' >> $batman_script
|
1875
|
1887
|
echo ' # Might have to re-enable wifi' >> $batman_script
|
1876
|
1888
|
echo ' rfkill unblock $(rfkill list|awk -F: "/phy/ {print $1}") || true' >> $batman_script
|
1877
|
1889
|
echo '' >> $batman_script
|
|
@@ -1899,7 +1911,7 @@ function mesh_batman_bridge {
|
1899
|
1911
|
echo ' ifconfig bat0 hw ether ${ether}' >> $batman_script
|
1900
|
1912
|
echo ' fi' >> $batman_script
|
1901
|
1913
|
echo '' >> $batman_script
|
1902
|
|
- echo ' if [ "$EIFACE" ]; then' >> $batman_script
|
|
1914
|
+ echo ' if [ "$EIFACE" ] ; then' >> $batman_script
|
1903
|
1915
|
echo ' brctl addbr $BRIDGE' >> $batman_script
|
1904
|
1916
|
echo ' brctl addif $BRIDGE bat0' >> $batman_script
|
1905
|
1917
|
echo ' brctl addif $BRIDGE $EIFACE' >> $batman_script
|
|
@@ -1909,19 +1921,22 @@ function mesh_batman_bridge {
|
1909
|
1921
|
echo ' ifconfig $BRIDGE up' >> $batman_script
|
1910
|
1922
|
echo ' fi' >> $batman_script
|
1911
|
1923
|
echo '' >> $batman_script
|
1912
|
|
- echo ' if [ -f /bin/systemctl ]; then' >> $batman_script
|
1913
|
|
- echo ' systemctl restart avahi-daemon' >> $batman_script
|
1914
|
|
- echo ' else' >> $batman_script
|
1915
|
|
- echo ' service avahi-daemon restart' >> $batman_script
|
1916
|
|
- echo ' fi' >> $batman_script
|
|
1924
|
+ echo ' iptables -A INPUT -p tcp -m state -m tcp --dport 548 --state NEW -j ACCEPT' >> $batman_script
|
|
1925
|
+ echo ' iptables -A INPUT -p udp -m state -m udp --dport 548 --state NEW -j ACCEPT' >> $batman_script
|
|
1926
|
+ echo ' iptables -A INPUT -p tcp -m state -m tcp --dport 5353 --state NEW -j ACCEPT' >> $batman_script
|
|
1927
|
+ echo ' iptables -A INPUT -p udp -m state -m udp --dport 5353 --state NEW -j ACCEPT' >> $batman_script
|
|
1928
|
+ echo ' iptables -A INPUT -p tcp -m state -m tcp --dport 5354 --state NEW -j ACCEPT' >> $batman_script
|
|
1929
|
+ echo ' iptables -A INPUT -p udp -m state -m udp --dport 5354 --state NEW -j ACCEPT' >> $batman_script
|
|
1930
|
+ echo '' >> $batman_script
|
|
1931
|
+ echo ' systemctl restart avahi-daemon' >> $batman_script
|
1917
|
1932
|
echo '}' >> $batman_script
|
1918
|
1933
|
echo '' >> $batman_script
|
1919
|
1934
|
echo 'stop() {' >> $batman_script
|
1920
|
|
- echo ' if [ -z "$IFACE" ] ; then' >> $batman_script
|
|
1935
|
+ echo ' if [ -z "$IFACE" ]; then' >> $batman_script
|
1921
|
1936
|
echo ' echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> $batman_script
|
1922
|
1937
|
echo ' return' >> $batman_script
|
1923
|
1938
|
echo ' fi' >> $batman_script
|
1924
|
|
- echo ' if [ "$EIFACE" ] ; then' >> $batman_script
|
|
1939
|
+ echo ' if [ "$EIFACE" ]; then' >> $batman_script
|
1925
|
1940
|
echo ' brctl delif $BRIDGE bat0' >> $batman_script
|
1926
|
1941
|
echo ' brctl delif $BRIDGE $EIFACE' >> $batman_script
|
1927
|
1942
|
echo ' ifconfig $BRIDGE down || true' >> $batman_script
|
|
@@ -1939,6 +1954,13 @@ function mesh_batman_bridge {
|
1939
|
1954
|
echo ' ifconfig $IFACE down' >> $batman_script
|
1940
|
1955
|
echo ' iwconfig $IFACE mode managed' >> $batman_script
|
1941
|
1956
|
echo '' >> $batman_script
|
|
1957
|
+ echo ' iptables -D INPUT -p tcp -m state -m tcp --dport 548 --state NEW -j ACCEPT' >> $batman_script
|
|
1958
|
+ echo ' iptables -D INPUT -p udp -m state -m udp --dport 548 --state NEW -j ACCEPT' >> $batman_script
|
|
1959
|
+ echo ' iptables -D INPUT -p tcp -m state -m tcp --dport 5353 --state NEW -j ACCEPT' >> $batman_script
|
|
1960
|
+ echo ' iptables -D INPUT -p udp -m state -m udp --dport 5353 --state NEW -j ACCEPT' >> $batman_script
|
|
1961
|
+ echo ' iptables -D INPUT -p tcp -m state -m tcp --dport 5354 --state NEW -j ACCEPT' >> $batman_script
|
|
1962
|
+ echo ' iptables -D INPUT -p udp -m state -m udp --dport 5354 --state NEW -j ACCEPT' >> $batman_script
|
|
1963
|
+ echo '' >> $batman_script
|
1942
|
1964
|
echo ' systemctl restart network-manager' >> $batman_script
|
1943
|
1965
|
echo '}' >> $batman_script
|
1944
|
1966
|
echo '' >> $batman_script
|
|
@@ -1968,7 +1990,7 @@ function mesh_batman_bridge {
|
1968
|
1990
|
echo ' ;;' >> $batman_script
|
1969
|
1991
|
echo ' *)' >> $batman_script
|
1970
|
1992
|
echo ' echo "error: invalid parameter $1"' >> $batman_script
|
1971
|
|
- echo ' echo "usage: $0 {start|stop|restart|status|ping|list|ls}"' >> $batman_script
|
|
1993
|
+ echo ' echo "usage: $0 {start|stop|restart|status|ping|ls|list}"' >> $batman_script
|
1972
|
1994
|
echo ' exit 2' >> $batman_script
|
1973
|
1995
|
echo ' ;;' >> $batman_script
|
1974
|
1996
|
echo 'esac' >> $batman_script
|
|
@@ -6056,6 +6078,9 @@ function configure_internet_protocol {
|
6056
|
6078
|
if grep -Fxq "configure_internet_protocol" $COMPLETION_FILE; then
|
6057
|
6079
|
return
|
6058
|
6080
|
fi
|
|
6081
|
+ if [[ $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
|
|
6082
|
+ return
|
|
6083
|
+ fi
|
6059
|
6084
|
sed -i "s/#net.ipv4.tcp_syncookies=1/net.ipv4.tcp_syncookies=1/g" /etc/sysctl.conf
|
6060
|
6085
|
sed -i "s/#net.ipv4.conf.all.accept_redirects = 0/net.ipv4.conf.all.accept_redirects = 0/g" /etc/sysctl.conf
|
6061
|
6086
|
sed -i "s/#net.ipv6.conf.all.accept_redirects = 0/net.ipv6.conf.all.accept_redirects = 0/g" /etc/sysctl.conf
|
|
@@ -6066,15 +6091,13 @@ function configure_internet_protocol {
|
6066
|
6091
|
sed -i "s/#net.ipv4.conf.all.rp_filter=1/net.ipv4.conf.all.rp_filter=1/g" /etc/sysctl.conf
|
6067
|
6092
|
sed -i "s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=0/g" /etc/sysctl.conf
|
6068
|
6093
|
sed -i "s/#net.ipv6.conf.all.forwarding=1/net.ipv6.conf.all.forwarding=0/g" /etc/sysctl.conf
|
6069
|
|
- if [[ $SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
|
6070
|
|
- echo '# ignore pings' >> /etc/sysctl.conf
|
6071
|
|
- echo 'net.ipv4.icmp_echo_ignore_all = 1' >> /etc/sysctl.conf
|
6072
|
|
- echo 'net.ipv6.icmp_echo_ignore_all = 1' >> /etc/sysctl.conf
|
6073
|
|
- echo '# disable ipv6' >> /etc/sysctl.conf
|
6074
|
|
- echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf
|
6075
|
|
- echo 'net.ipv4.tcp_synack_retries = 2' >> /etc/sysctl.conf
|
6076
|
|
- echo 'net.ipv4.tcp_syn_retries = 1' >> /etc/sysctl.conf
|
6077
|
|
- fi
|
|
6094
|
+ echo '# ignore pings' >> /etc/sysctl.conf
|
|
6095
|
+ echo 'net.ipv4.icmp_echo_ignore_all = 1' >> /etc/sysctl.conf
|
|
6096
|
+ echo 'net.ipv6.icmp_echo_ignore_all = 1' >> /etc/sysctl.conf
|
|
6097
|
+ echo '# disable ipv6' >> /etc/sysctl.conf
|
|
6098
|
+ echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf
|
|
6099
|
+ echo 'net.ipv4.tcp_synack_retries = 2' >> /etc/sysctl.conf
|
|
6100
|
+ echo 'net.ipv4.tcp_syn_retries = 1' >> /etc/sysctl.conf
|
6078
|
6101
|
echo '# keepalive' >> /etc/sysctl.conf
|
6079
|
6102
|
echo 'net.ipv4.tcp_keepalive_probes = 9' >> /etc/sysctl.conf
|
6080
|
6103
|
echo 'net.ipv4.tcp_keepalive_intvl = 75' >> /etc/sysctl.conf
|