本文的目標(biāo)是利用一臺可以上網(wǎng)的服務(wù)器作為網(wǎng)關(guān),使在同一局域網(wǎng)中的所有服務(wù)器都可以上網(wǎng)。
物理條件
假設(shè)有若干臺服務(wù)器:A,B,C,D…
其中服務(wù)器 A 可以上網(wǎng)。
現(xiàn)在的需求是——我想讓B,C,D也可以上網(wǎng),具體來說有兩種網(wǎng)線連接的方法。
方法一:不使用交換機
如果不使用交換機,需要用網(wǎng)線將服務(wù)器 A 和 B 直接連接起來。由于每臺主機的網(wǎng)卡口有限,因此這種方法只適用于沒有交換機且服務(wù)器個數(shù)不多的情況。
方法二:使用交換機
使用交換機就會簡單很多,只需要將所有需要上網(wǎng)的服務(wù)器通過網(wǎng)線連接在交換機上就好了。
配置步驟
查看網(wǎng)絡(luò)狀態(tài)
使用 ifconfig
查看服務(wù)器 A 當(dāng)前的網(wǎng)絡(luò)設(shè)備信息。
Linux ifconfig命令 _ 菜鳥教程.html
設(shè)置靜態(tài)IP
Ubuntu設(shè)置靜態(tài)IP地址的幾種方法
搜到的文章中有兩種方式,可以兩種方式都試試,(在本人的實操中,一部分服務(wù)器已經(jīng)存在 interfaces 文件,就在此基礎(chǔ)上進行修改;另外一部分服務(wù)器則是修改 /etc/netplan
文件夾下的文件)
對服務(wù)器 A 進行如下操作:
修改前:
修改后:
其實只修改了 address 字段的內(nèi)容,將其設(shè)置成了我想要的靜態(tài) IP 地址。
在對服務(wù)器 B 進行對應(yīng)的操作時,發(fā)現(xiàn) /etc/network
文件夾下并沒有 interfaces 文件存在。
因此嘗試攻略中的另一個方法,查看 /etc/netplan 文件夾下是否有相關(guān)的配置文件,發(fā)現(xiàn)果然有!
(補充一下,服務(wù)器 A 的 /etc/netplan 下內(nèi)容是這樣的:
將服務(wù)器 B 的 01-network-manager-all.yaml 中內(nèi)容修改成如下內(nèi)容:
將 addresses 設(shè)置成了 [192.168.232.106/24] ,即本機在局域網(wǎng)中的 ip;除此之外將 gateway4 字段設(shè)置成了服務(wù)器 A 在局域網(wǎng)中的 IP:192.168.232.105。
將服務(wù)器A設(shè)置成網(wǎng)關(guān)
Ubuntu將本機作為局域網(wǎng)內(nèi)其他PC的網(wǎng)關(guān),使局域網(wǎng)內(nèi)機器可通過本機上網(wǎng)
echo 1 > /proc/sys/net/ipv4/ip_forward
想要永久生效的話,可以修改 /etc/sysctl.conf
如下:
就是在最后一行添加了 net.ipv4.ip_forward=1
。
執(zhí)行 sysctl -p
馬上生效
sudo /sbin/iptables -t nat -A POSTROUTING -s 192.168.232.0/24 -o eno1 -j MASQUERADE
注意這里的應(yīng)該寫為 192.168.232.0 ,而不是服務(wù)器 A 的 IP 192.168.232.105。
這里應(yīng)該寫服務(wù)器 A 用于上網(wǎng)的網(wǎng)卡 eno1 而不是連接局域網(wǎng)的網(wǎng)卡 eno2。
配置完成后需要使用
sudo iptables-save
來保存配置,同時也可以看到相應(yīng)的結(jié)果:
(上面多余的是剛開始寫錯了。。。)
重新啟動各服務(wù)器網(wǎng)卡
sudo service networking restart
此后,不出意外的話,兩臺服務(wù)器之間應(yīng)該就可以通過 IP 相互 ping 通了。
設(shè)置主機名
我不想記住復(fù)雜的 IP 地址,所以想給每個服務(wù)器設(shè)置一個主機名,也很簡單啦,只需要修改各個服務(wù)器的 /etc/hosts
文件。
分別在兩者的 hosts
文件中添加對方的局域網(wǎng) IP 和主機名就好了。
將一臺CentOS的網(wǎng)關(guān)設(shè)置為服務(wù)器A
先查看一下目前的網(wǎng)絡(luò)信息。
ifconfig
使用 ifconfig
找到該服務(wù)器接入局域網(wǎng)的網(wǎng)卡是 em4。
在路徑 /etc/sysconfig/network-scripts
下可以找到相關(guān)的配置文件。
cd /etc/sysconfig/network-scripts
ll
修改文件 ifcfg-em4 的內(nèi)容,將 GATEWAY 字段修改為 局域網(wǎng)中網(wǎng)關(guān)的 IP。
保存后,使用
service network restart
重啟網(wǎng)絡(luò)
盡管從上圖信息看,好像失敗了,但是——
ping 了一下百度發(fā)現(xiàn)可以 ping 通,就算了搞定了!
補充
ubuntu 域名解析暫時失敗
Ubuntu通過修改配置文件進行網(wǎng)絡(luò)配置及ubuntu解決resolv.conf被重寫問題和NetworkManager的關(guān)系
可以使用
sudo vi /etc/resolv.conf
來修改 DNS 配置文件,添加 nameserver 8.8.8.8
注意這個修改這個配置文件后就可以 ping www.baidu.com 了,如果使用 service networking restart 來重啟網(wǎng)絡(luò)配置的話會導(dǎo)致這個配置文件被重寫。
參考資料
Ubuntu設(shè)置靜態(tài)IP地址的幾種方法
ubuntu如何重新啟動網(wǎng)卡
Ubuntu將本機作為局域網(wǎng)內(nèi)其他PC的網(wǎng)關(guān),使局域網(wǎng)內(nèi)機器可通過本機上網(wǎng)文章來源:http://www.zghlxwxcb.cn/news/detail-479266.html
Ubuntu20.04服務(wù)器開啟路由轉(zhuǎn)發(fā)讓局域網(wǎng)內(nèi)其他電腦通過該服務(wù)器連接外網(wǎng)
ubuntu配置iptables文章來源地址http://www.zghlxwxcb.cn/news/detail-479266.html
到了這里,關(guān)于使用可上網(wǎng)的服務(wù)器作為網(wǎng)關(guān),實現(xiàn)另一臺服務(wù)器上網(wǎng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!