DHCP Server 安裝

為了要測試 NAT, 所以想來想去應該還是要先架設 DHCP Server, 這樣內部其它電腦可以先連接到 NB的 Wi-Fi, 然後取的 private IP之後在通過 NAT連結到網際網路, 所以就先參考 Ubuntu的 DHCP Server Doc, 先依照上面指導一步一步設定看看哪裡和認知有所差異; 經過幾天確認, 發現步驟思維應該如下 1.將 NB的 Wi-Fi變成 AP 2.將DHCP Server安裝 3.設定NAT/ iptable

  1. 將 NB的 Wi-Fi變成 AP: 需要安裝 hostapd (host access point daemon) sudo apt install hostapd

安裝完成後, 因為目前對整個網路相互之間關係仍不是很熟悉, 所以先將 hostapd相關檔案名稱找一下; 這邊就可以依據 網路上 iT邦幫忙這邊文章進行設定 , 這邊沒有看到 hostapd.conf , 所以等等需要在 sudo vi /etc/hostapd/hostapd.conf 編輯時候建立與儲存

sudo vi /etc/default/hostapd 主要指定 hostapd.conf 路徑; uncomment DAEMON_CONF 再加上路徑

sudo vi /etc/hostapd/hostapd.conf 關於內容說明可以參考這幾篇文章 文章一 文章二 之前有一篇台部落很完整的


因為先前測試發現設定完成後, 不論是直接打 sudo hostapd hostapd.conf 或是其它, 好像有點問題, 所以先查看狀態; 這邊可以看到 hostapd 是 masked的, 所以要再進行 unmask , 這裡不是很清楚, 需要再花點時間弄懂

sudo systemctl unmask hostapd 發現這邊將 /etc/systemd/system/hostapd.service 移除了

之後再看 systemctl 裡面 hostapd的狀態, 變成 loaded

sudo systemctl enable hostapd 這邊 enable之後, 看到還是 fail, 所以看看是不是最後 start會成功

sudo systemctl start hostapd 結果還是 fail的, 看看是不是哪裡又錯誤了

sudo hostapd /etc/hostapd/hostapd.conf 發現有一行錯誤, 修正後再繼續, 這邊發現如果打 wlan0 會有問題, 所以還是改成自己看到的 device name, 就是 wls33 (每台機器應該不同, 在我的 wi-fi是 wls 33, 同步修正 wmm_enabled 少了一個 d的錯誤

重新進行後, 還是發現有問題 nl80211: Could not configure driver mode, 需要再確認是不是 Wi-Fi原先已經開啟, 沒有先設定, 後來重新

最後確認是本身 iwl4965無線網卡的問題, 即便採用 rmmod iwl4965 之後再 modprobe 還是會出現 Rx DMA問題, 先將此問題放在旁邊

為了進一步學習, 只好再重新拿另外一台舊的 NB來安裝並確認每個動作, 重新申請一個 mrjimmy.sytes.net ; 接下來以這台來試 AP架設功能, 不過在這過程學習到採用 sudo ubuntu-drivers devices 指令, 可以參考這一篇 samwhelp 所寫的; 換的另外一台 NB是 Acer Aspire5745D 因為當初買這是一台 3D功能的 NB, 所以直覺認為可能有些驅動還是會有問題, 剛好可以來試一下這些指令的應用

所以確實發現有兩個偵測到的硬體需要安裝, 分別需要安裝 sudo apt install nvidia-driver-390 ; sudo bcmwl-kernel-source
sudo apt install nvidia-driver-390

這一個應該是屬於顯示卡的部分, 安裝比較久, 但是安裝完成後, 並沒有發現 Server的 Text 畫面有變的比較好看, 待後續再持續確認實際狀況; 另外一個就是期望的主角, 也就是要用來架設 AP的無線網卡; 先前打 ifconfig 並未看到啟動; 現在就打 iwconfig 看狀態, 發現自己對網路控制也還不是很熟係, 所以先裝驅動看看狀況; 不過看起來也是安裝時間比較久, 就不多敘述, 等等再看 iwconfig是否有差異

看來在名稱顯示還有在 Power Management on/off 之間不確定為何會有差異??? 那還是先回到主要的 hostapd安裝跟後續確認

這邊安裝完驅動程式還是並沒有啟動, 可以先利用 iwconfig 將 txpower on 打開, 再使用 ifconfig wlp3s0 up 讓介面啟動

再重新安裝 hostapd並看安裝過程, 看來都是顯示跟之前一樣在 142行執行有問題; 一步一步慢慢來修改吧

之後重新參考這一篇文章, 於是先不去看 hostapd的問題, 先依據別人的步驟再重新進行一次看看; 這時候的網路在 /etc/netplan 下設定是如下; 可能跟這部分無關, 但是還是先列出, 實際上此部分應該不會影響, 後面還可以實作, 看看差異

真正的重點應該是在 /etc/network/interfaces , 跟著那篇文章 先進行修改, 並在原本的設定依據原先方式加入設定內容

然後依據相同方式在 /etc/hostapd/hostapd.conf 設定bridge的方式; 如後執行 sudo hostapd -dd /etc/hostapd/hostapd.conf

sudo hostapd -dd /etc/hostapd/hostapd.conf 

看來有些東西是前後設定會有影響的, 這時候, 畫面也沒有顯示 啟動失敗, 會一直跑, 而且手機上面也找到 Jimmy_Test , 看來這幾天走錯很多路, 不過也多學到一些指令和東西, 接下來還是要弄懂 NAT, Bridge, 或是其它先後問題等…..順便可以在兩台不同 NB上面試

關於採用 hostapd 讓 AP 可以啟動這一個部分, 到目前為止還是沒有搞懂, 雖然說成功啟動過; 但是之間的關聯性還有問題等, 尚未釐清, 之後又嘗試在原本的 AP進行, 還是一樣出現無法啟動 wls33 (wlan0)的訊息, 所以這邊先做個初步的總結

1.無線網卡驅動的影響: 針對 Asus F9E的 iwl4965的影響, 看來網路上很多人也有遇到,但不確定是否如此, 解法目前也尚未找到明確的答案
2.針對使用 Acer Aspire5745D 最後還是重新安裝並選擇原始的安裝驅動, 並未再使用 ubuntu-drivers方式另外 manual 進行安裝, 所以不一定 third party的會比較好, 個人覺得
3.採用 Bridge mode方式, 成功 hostapd以後, 對於 PPPoE 似乎會有影響, 此部分都會導致重新開機後, 即便再重新設定 pppoeconf, 最終開機還是會有影響
4.重新開機後, 自動啟動 hostapd以後, 會產生 bcm43225一直有 enable true之後再 false訊息, 這邊要能看到自己 Wi-Fi AP, 都必須要手動先停止服務以後再採用 hostapd -dd /etc/hostapd/hostapd.conf 才能正常

接下來再試試看如何建立 DHCP Serevr之方式學習, 之後再將相關的串接起來

sudo apt install isc-dhcp-server 原來這邊的套件名稱是 isc-dhcp-server, 等等再來確認什麼是 isc ; 後來確認 isc就是 Internet Systems Consortium, 另外安裝 DHCP Server, 所以網路就先訂在 192.168.20.0~192.168.20.255 所以設定上應該就是在 192.168.20.0/24 ; 如果 Wi-Fi是 eth1, 那麼要如何能夠轉到 eth0 還是不需要呢? 這邊先想一下, 那麼 etho 是不是就要設定在 192.168.0.0/24 , 等等再驗證確認

安裝過程出現一個選項畫面, 但不是很清楚有那些需要選擇, 所以就先都不選
接下來需要編輯 /etc/dhcp/dhcpd.conf
sudo vi /etc/dhcp/dhcpd.conf

又是一堆需要理解和學習的部分, 這邊大部分的問題應該是 domain-name到底要填寫什麼? 如果填錯了會不會有影響? 這邊先不做修改, 後面再試看看

依據 Ubuntu Doc文件說明, 底下看到了很多建議的範本在裡面, 先不修改, 我們依據 Doc上說明自己先加入

依據先前提到, Wi-Fi 網卡的網路會是在 192.168.20.0 這個網段, 所以 Wi-Fi 網卡本身就設定在 192.168.20.1 ; 電腦取得 位置的 range 就可以依照 Doc做一些局部修改, 先來參考以下, 但不明白的是, 這應該是修改以後顯示出來的; 先依據指令打看看

結果發現理解錯誤, 不是要輸入這個當成指令, 是要修改成類似這樣的內容, 所以顯示找不到 minimal這個指令, 如果理解沒有錯誤

這邊先依樣畫葫蘆的增加對應的 range, 但是因為對 domain這個部分還是覺得有點理解還是不很透徹, 所以總覺得會失敗; 所以可能等等又要回頭去確認 domain是在哪裡設定和填寫正確部分;

sudo vi /etc/default/isc-dhcp-server 

之後修改 /etc/default/isc-dhcp-server 主要是要設定要使用哪一個網卡來監聽, 因為要使用 Wi-Fi, 所以需要再確認如何修改才是正確的; 這邊假設 Wi-Fi是 eth1, 而不是先寫 wls33

sudo systemctl restart isc-dhcp-server.service

這邊有一個問題, 為什麼是打 stsremctl 而不是打 sysctl ; 另外打完後, 沒有看到差異

幾個問題來了 1.使用無線網路, 會看到的是什麼?


If you can’t explain it simply,
you don’t understand it well enough
如果你無法簡單的解釋一件事,
代表你還不夠了解它

Albert Einstein

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *