# Step2_Ubuntu Server網路連線全指南 這邊紀錄Server端的設定,另一邊Client端的Putty怎麼連上請自行學習 - [Part1 : 基礎 - 將伺服器開啟遠端連線的功能](#Part1--設定Server遠端連線) - [Part2 : 常見問題排除](#Part2--常見問題排除) - [Part3 : Server網路管理](#Part3--Server網路管理) - [Part4 : 其他](#Part4--其他) ## Part1 : 設定Server遠端連線 #### 1. ifconfig `ifconfig`指令可以查看本機的ip網域位址等資訊,如果是新的系統需要安裝一下 ``` sudo apt install net-tools ``` 包含滿多功能,例如 : [修改mac位址](https://blog.csdn.net/ytusdc/article/details/79290533)、停用啟用介面卡。 #### 2. ssh 安裝openssh-server,其中已經包含了ssh,因此不需要額外安裝 另外亦有openssh-client,這個套件是用來ssh訪問其他server的 ``` sudo apt install openssh-server ``` 修改`/etc/ssh/sshd_config`,新增下面文字 ``` Port 8888 //開放8888 Port PasswordAuthentication yes PermitRootLogin yes //有安全疑慮就不要開放root登入 ``` 重啟服務(下列方法二擇一即可) ``` sudo systemctl restart ssh /etc/init.d/ssh restart ``` 基本上Server上的設定到這邊就可以成功連線了!! <font color='red'>但前提是Router上的Port轉發設定也是沒問題的</font>。本篇就討論到Server這邊,Router設定方面各位請自立自強啦。 HINT : 擔心router設定沒做好,可以先使用內網IP做測試,排除問題。 ## Part2 : 常見問題排除 連線失敗最常見的問題就是port forward設定錯誤。 如果設定都沒有問題就有可能是無意間啟動了防火牆,所以連線被擋掉。 防火牆是額外安裝的,設定不當有可能因防火牆把ssh的連線擋掉。 ##### 1. ufw 防火牆的套件,有需要再安裝[[ufw相關補充]](<https://www.cyberciti.biz/faq/ufw-allow-incoming-ssh-connections-from-a-specific-ip-address-subnet-on-ubuntu-debian/>) ``` 安裝/移除 sudo apt install ufw sudo apt uninstall ufw sudo ufw status 顯示狀態 sudo ufw enable/disable/reload 啟動/關閉/重啟防火牆 sudo ufw allow xxxx 開啟特定xxxx port ``` ##### 2. firewalld 另一種防火牆套件,有可能與ufw兩個同時啟用,**有需要關閉時記得兩邊都檢查** ``` 安裝/移除 sudo apt install firewalld sudo apt remove firewalld sudo apt-get install firewalld sudo apt-get remove firewalld 啟用/開始/停止/重啟服務 sudo systemctl enable firewalld sudo systemctl start firewalld sudo systemctl stop firewalld sudo systemctl restart firewalld 查看Firewalld服務狀態 sudo systemctl status firewalld 提示: 其他執行系列由-cmd開頭 sudo firewall-cmd ``` ## Part3 : Server網路管理 #### 1. 固定IP : 使用netplan 在圖形介面,點一點輸入就好。若只有文字介面,請見下列說明 使用netplan,這邊的操作需要一些網路基礎知識 透過編輯yaml檔案可以設定好網路,如果資料夾下有多個yaml檔案,最後套用時會合併所有設定,這邊是要注意的。 ``` sudo vim /etc/netplan/01-netcfg.yaml ``` 有線網路設定 ``` network: version: 2 renderer: NetworkManager ethernets: enp3s0: dhcp4: no addresses: - 192.168.1.100/24 # 希望設定的IP gateway4: 192.168.1.1 # 負責該local的路由器 ``` 無線網路+有線網路 ``` network: ethernets: eth0: dhcp4: true optional: true version: 2 wifis: wlp3s0: optional: true access-points: "SSID-NAME-HERE": password: "PASSWORD-HERE" dhcp4: true ``` 套用yaml檔案 ``` [測試是為了確保設定沒問題,即使是遠端操作失誤,120秒後會自動還原設定] sudo netplan try [直接套用] sudo netplan apply ``` #### 2. 設定Mac位址 MAC可以改變讓我很吃驚,但確實是可以並提供網路連線更多靈活性。 note : 選擇操作對象可以透過`ip a`的列表選擇。 ``` [先讓介面下線] sudo ifconfig ens3 down [更改MAC位址] sudo ifconfig ens3 hw xx:xx:xx:xx:xx:xx [介面重新上線] sudo ifconfig ens3 up ``` 同意義的操作 ``` ip link set ens3 down ip link set ens3 address 00:11:22:33:44:55 ip link set ens3 up ``` ## Part4 : 其他 #### 1. 測速套件 : 告訴你網路的上傳與下載速度 ``` 安裝 sudo apt install speedtest-cli 執行 speedtest-cli ``` #### 2. IP Scanner on ubuntu ``` nmap -sP 192.168.50.0/24 ``` #### 3. 路由表檢查,可以看到MAC ``` arp -a ``` #### 4. ping : 連線測試 測試與目標間的網路品質功能 ``` ping 8.8.8.8 輸入後會不斷發送封包測試直到使用^c停止功能,-n設定封包數量,另可設定大小 (8.8.8.8是Google的DNS Server位置) ``` 4. ``` ip route ```