# 靜宜系統環境建置 ``` gw03 ubuntu 18.04 mas01 alpine 3.13.1 wka01 alpine 3.13.1 wka02 alpine 3.13.1 wka03 alpine 3.13.1 wka04 alpine 3.13.1 ds01 alpine 3.13.1 ``` # GateWay事前準備 - 取消 sudo 輸入密碼步驟 >$ sudo nano /etc/sudoers ::: %sudo ALL=(ALL:ALL) NOPASSWD:ALL - 安裝wifi套件 >$ sudo apt update -y >$ sudo apt install wpasupplicant >$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf ``` ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 ap_scan=1 fast_reauth=1 country=TW network={ ssid="輸入 Wifi 名稱" psk="輸入 Wifi 密碼" } ``` --- >$ sudo kill -9 $(ps -ef | grep wpa | awk '{print $2}') >$ sudo wpa_supplicant -B -i XXXwifi網卡名稱 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf >$ sudo dhclient # 開機自動連線wpa_supplicant.service $ sudo nano /etc/systemd/system/wpa_supplicant.service ``` [Unit] Description=WPA supplicant Before=network.target After=dbus.service Wants=network.target IgnoreOnIsolate=true [Service] Type=dbus BusName=fi.w1.wpa_supplicant1 ExecStart=/sbin/wpa_supplicant -u -s -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf -i XXXX網卡名稱 [Install] WantedBy=multi-user.target Alias=dbus-fi.w1.wpa_supplicant1.service ``` # 開機自動連線dhclient.service >$ sudo nano /etc/systemd/system/dhclient.service !!重要 >$ sudo systemctl enable dhclient.service >$ sudo reboot ``` [Unit] Description= DHCP Client Before=network.target After=wpa_supplicant.service [Service] Type=simple ExecStart=/sbin/dhclient XXXXXwifi網卡名稱 [Install] WantedBy=multi-user.target ``` # 開機執行iptable 跟ip_forward $ echo "sudo iptables -t nat -A POSTROUTING -s 192.168.30.0/24 -o 對外網卡名稱 -j MASQUERADE" >>.bashrc $ echo 'echo 1 |sudo tee /proc/sys/net/ipv4/ip_forward'>>.bashrc # 設定default gateway >$ sudo nano /etc/netplan/XX-network-manager-all.yaml ``` network: version: 2 renderer: networkd ethernets: enp1s0: dhcp4: no dhcp6: no addresses: [172.17.40.1/26] gateway4: 192.192.156.62 nameservers: addresses: [8.8.8.8,8.8.4.4] ``` # 設定 SSH 遠端管理系統 $ sudo nano /etc/ssh/ssh_config ::: StrictHostKeyChecking no [重要] StrictHostKeyChecking ask 修改為 no,並註解拿掉 $ sudo nano /etc/ssh/sshd_config ::: PermitRootLogin no # 是否允許 root 管理者以 SSH 登入 [重要] PermitRootLogin without-password 修改為 no # 安裝Dnsmasq on Ubuntu 18.04 >$ sudo systemctl disable systemd-resolved >$ sudo systemctl stop systemd-resolved >$ sudo rm /etc/resolv.conf >$ sudo nano /etc/resolv.conf ``` nameserver 127.0.0.1 nameserver 8.8.8.8 ``` >$ sudo apt-get install dnsmasq >$ sudo nano /etc/dnsmasq.conf ``` If you want to enable DNSSEC validation and caching, uncomment #dnssec Make any other changes you see relevant and restart dnsmasq when done: ``` # 設定Dnsmasq DHCP server(並將其設定為固定ip來使用k3s) $ sudo nano /etc/dnsmasq.conf ``` dhcp-range=192.168.30.100,192.168.30.150,24h dhcp-option=option:router,192.168.30.254 dhcp-option=option:dns-server,192.168.30.254 dhcp-option=option:netmask,255.255.255.0 dhcp-host=00:07:32:42:5e:3a,192.168.30.10 dhcp-host=00:07:32:4d:1e:46,192.168.30.20 dhcp-host=00:07:32:4d:1e:97,192.168.30.21 dhcp-host=00:07:32:42:70:c1,192.168.30.22 dhcp-host=00:07:32:4d:1e:17,192.168.30.23 dhcp-host=00:07:32:42:5e:c5,192.168.30.30 ``` $ sudo systemctl restart dnsmasq --- # Apine 系統環境建置 - 安裝完後 > $ vi /etc/ssh/sshd_config PermitRootLogin yes (予許使用ssh時root登入) - 在GateWay裡面起busybox httpd ,讓alpine執行以下遠端程式(用curl curl GateWayIP:port號/set/prefly.sh| sh)