diff --git a/bridge-install.sh b/bridge-install.sh index 40fe4c2..b6119f4 100755 --- a/bridge-install.sh +++ b/bridge-install.sh @@ -29,17 +29,19 @@ if [ "$(id -u)" -ne 0 ]; then exit 1 fi +echo -e "# PREPARE ENVIRONMENT #" + # Reset interfaces iptables -X iptables -F iptables -t nat -X iptables -t nat -F -echo "Cleared iptables" +echo "Erased all iptables rules." ifconfig $WLAN_IFACE down ifconfig $WLAN_IFACE hw ether $(ethtool -P $WLAN_IFACE | awk '{print $3}') ifconfig $WLAN_IFACE up -echo "Reset $WLAN_IFACE" +echo "Reset the $WLAN_IFACE WiFi interface." while true; do WLAN_IFACE_IP=$(ip -4 -br addr show $WLAN_IFACE | grep -Po "\\d+\\.\\d+\\.\\d+\\.\\d+") @@ -51,6 +53,12 @@ while true; do sleep 5 done +# Stop dnsmasq and restore systemd-resolved so we can avoid any DNS issues +systemctl stop dnsmasq +echo "Stopped dnsmasq." +systemctl start systemd-resolved +echo "Started systemd-resolved." + # We only need to get the $WLAN_IFACE IP address and will copy it over to $ETH_IFACE later WLAN_NETMASK=$(ip addr show $WLAN_IFACE | grep -w inet | awk '{print $2}' | cut -d'/' -f2) WLAN_NETMASK_CIDR=$(ip addr show $WLAN_IFACE | grep -w inet | awk '{print $2}' | cut -d'/' -f2) @@ -66,16 +74,29 @@ fi echo -e "\n# INSTALL THINGS #" -echo -e "Updating...\n\n" -service systemd-resolved start -sudo systemctl stop dnsmasq +INSTALL_DIR="/opt/wlan2eth" +echo "Installing to $INSTALL_DIR" + +if [ "$DIR" != "$INSTALL_DIR" ]; then + if ! $NON_INTERACTIVE; then + echo -e "\nGoing to copy $DIR to $INSTALL_DIR" + read -p "Press ENTER to continue or CTRL+C to cancel..." + fi + mkdir -p "$INSTALL_DIR" + cp -r "$DIR"/* "$INSTALL_DIR" +else + echo "We are already in $INSTALL_DIR, not copying files." +fi + +echo -e "Updating...\n" + apt-get update apt-get upgrade $NON_INTERACTIVE_APT echo -e "\n" -THINGS_TO_INSTALL="parprouted dhcp-helper net-tools ethtool dnsmasq" +THINGS_TO_INSTALL="net-tools ethtool dnsmasq openssh-server" if ! $NON_INTERACTIVE; then echo "Going to install: $THINGS_TO_INSTALL" @@ -86,20 +107,16 @@ echo -e "\n" apt-get install $NON_INTERACTIVE_APT $THINGS_TO_INSTALL -echo -e "\n\nSetting up services...\n" - -systemctl stop dhcp-helper -systemctl disable dhcp-helper # remember to enable it later +echo -e "\nStarting dnsmasq..." sudo systemctl stop dnsmasq sudo systemctl disable dnsmasq if ! $NON_INTERACTIVE; then - echo -e "\n\nGoing to replace networking with systemd-networkd." + echo -e "\nGoing to replace networking with systemd-networkd." read -p "Press ENTER to continue or CTRL+C to cancel..." fi -echo -e "\n" -apt-get --autoremove $NON_INTERACTIVE_APT purge ifupdown dhcpcd5 isc-dhcp-client isc-dhcp-common +apt-get autoremove --purge $NON_INTERACTIVE_APT ifupdown dhcpcd5 isc-dhcp-client isc-dhcp-common echo -e "\n\nConnecting to WiFi..." @@ -128,8 +145,7 @@ systemctl status --no-pager wpa_supplicant@$WLAN_IFACE.service echo "" ifconfig $WLAN_IFACE -echo -e "\n\n" -ifconfig $WLAN_IFACE +echo -e "\n" NET_CONF_FILE="/etc/systemd/network/08-$WLAN_IFACE.network" cat >"$NET_CONF_FILE" <> /etc/ssh/sshd_config systemctl restart ssh +systemctl enable --now ssh echo "Set SSH server port to $ROUTER_SSH_PORT" -echo -e "\n\n\n==============\nDone!\nNow reboot!" +echo "" + +systemctl status --no-pager ssh + +echo "" + +echo -e "Installing the wlan2eth systemd service..." +cp "$DIR/wlan2eth.service" /etc/systemd/system/ +systemctl daemon-reload +systemctl enable --now wlan2eth + +echo "" + +systemctl status --no-pager wlan2eth + +echo -e "\n==============\nDone!\nNow reboot!"