使用ubuntu(18.04) 作为软路由器连接互联网
使用ubuntu(18.04) 作為軟路由器連接互聯網
背景:
最近要用ubuntu機器作為中繼路由,需要配置一下,但是內網外網網上找了一圈,五花八門的,照著做沒有一個靠譜的,遇到的問題也沒有任何說明,遂寫一篇教程以記錄一下
功能說明:
簡單來說,就是用其他機器的網絡上互聯網, 比如可以用其他機器的wifi上網等等場景
示意圖:
網上都先說要配什么靜態ip地址, 要什么netplan, 什么network/interface , 都是把簡單問題復雜話了,我用的都是ubuntu,我是有桌面的好么,為啥不直接在桌面上操作呢,配置這種東西,寫錯一個字符就不能用的,還有yaml的配置,縮進錯了也不對,簡直太不靠譜了,
ubuntu18 網絡配置
wifi連接互聯網
根本不需要配置,你能聯網就行,ip地址只要找到地方能看就行,界面上wifi連接那里直接可以看到所有信息,但是這個信息全程根本不需要
配置作為軟路由的網卡
配置這個是重中之重,首先,自己確定一個可以用的網段,如果沒什么特殊情況 就用1網段,比如192.168.1.3 。
那么就開始配置
打開配置,配置,我這里寫的是192.168.1.77, 網關和dns都不用配
好了,網卡就算是配完了
開啟路由轉發
編輯 /etc/sysctl.conf 文件, 開放下面這句注釋
然后執行
sudo sysctl -p
使其生效
配置路由轉發
我的ubuntu18機器的網卡名如下:
上互聯網的無線網卡: wlo1
作為路由轉發的有線網卡: enp1s0
執行一下指令, 把你的網卡對應修改一下
sudo iptables -A FORWARD -i enp1s0 -o wlo1 -j ACCEPT
sudo iptables -A FORWARD -i wlo1 -o enp1s0 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o wlo1 -j MASQUERADE
到這里, 軟路由就已經啟動好了,剩下來的就是聯網使用了
使用軟路由功能的普通PC配置
ip配置沒有太復雜,只需要選擇同樣一個1網段的地址, 比如我這里使用的是192.168.1.81
我的網絡配置如下:
這里最重要的一點,也是其他地方都很少提到的一點, 就是用軟路由上網的這臺PC, 他的網關應該填,ubuntu18軟路由那臺設備的有線網卡的ip地址,否則是不行的
剩下就是可以直接上網了
測試方法
主要還是靠ping,
1.第一步是,兩邊IP設置好之后, 用軟路由上網的PC,先要ping通 軟路由ubuntu18的有線網卡192.168.1.77地址,否則是不對的
2. 配置好命令之后, 用軟路由上網的PC ,應該可以ping通 ubuntu18上無線網卡的IP,192.168.39.10, 否則是不對的
3. 先用可以上網的ubuntu18 ,ping一下百度, www.baidu.com 或者其他網站,得到該網站是外網IP地址, 我這里的到的是180.101.49.12, 因為這里如果直接ping 百度網址,可能會得不到響應,這有可能是利用軟路由上網的PC,沒有配置正確的DNS,導致域名解析失敗的錯誤,而不是機器本身不能上網,
4.在用軟路由上網的pc上, ping 百度域名 www.baidu.com
這代表你已經可以連上互聯網了,正常使用了
IP自動分配
這個可以照抄 這位吾將上下而求索丶博主的內容, 實測有效
但是我還是自己寫一下
1.安裝 isc-dhcp-server
sudo apt-get install isc-dhcp-server
3.配置, 編輯 /etc/default/isc-dhcp-server文件
這里上兩個紅框都只要開放注釋就行,就是把#號去掉,最后的紅框則是指定要開啟IP地址自動分配的網卡, 這個就是我的有線網卡的名稱:enp1s0
然后保存
- 配置 /etc/dhcp/dhcpd.conf 文件
這里主要是配置DHCP的策略,就是自動分配ip的策略
這個地方需要好好解釋一下
我的配置文件如下:
為了避免寫錯,就把上面那個subnet 的一整項copy下來, 去掉#號,然后改信息就行
注釋:
subnet 192.168.1.0 netmask 255.255.255.0 { #192.168.1.0 這個是網段, 而不是IP地址, 192.168.**.0就行range 192.168.1.70 192.168.1.90; #分配IP地址的區段, 這個隨便填,我這里設置了20個ip地址option domain-name-servers 192.168.16.202; #這個是DNS地址, 我這個是自己的dns地址,#這個應該從上網的wifi網卡的信息dns地址那里抄過來
# option domain-name "internal.example.org";option subnet-mask 255.255.255.0; option routers 192.168.1.77; #這個最重要 ,填有線網卡的靜態IP地址option broadcast-address 192.168.1.255;default-lease-time 600;max-lease-time 7200;
}
保存
重啟服務
sudo service isc-dhcp-server restart
然后重啟ubuntu18 上作為軟路由的有線網卡
然后利用軟路由上網的PC上設置成IP自動獲取
然后重啟軟路由上網的PC 的網卡
然后就看到IP信息已經自動獲取到了
注意,這里我試了好幾次都不行, 都是配置文件寫錯了,然后還有重啟服務重啟網卡什么的不知道先后順序, 保險起見,改完直接重啟系統
開機自啟動
開機自啟動主要三個點
1.開機自啟路由轉發
這個 /etc/sysctl.conf文件修改完就自己會開機開啟路由轉發了,不用操作
2.開機自啟動網卡轉發
安裝 iptables-persistent
sudo apt-get install iptables-persistent
安裝過程中就會提示你是不是要保存當前IPv4和IPV6的配置,都選yes就行了,直接就保存了
也可以手動將ip規則追加到rules.v4中:
iptables-save > /etc/iptables/rules.v4
- 開機自啟IP自動分配
這個本身就是一個service, 不用管
到此,就完整實現了ubuntu系統作為軟路由的所有配置了,踩完坑了,記錄備忘
總結
以上是生活随笔為你收集整理的使用ubuntu(18.04) 作为软路由器连接互联网的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CenterNet KeyPoints
- 下一篇: 求一个男生姓南好听的名字!