【實踐總結】給Centos和Ubuntu設置靜態網絡IP以及配置ssh功能


作為一名以Windows平台為主的開發者,在接觸和使用Linux系統的過程中總會遇到一系列的問題。每當這時候,我相信大部分人是和我一樣的處理辦法,就是網上各種搜索嘗試直到問題解決為止,而有些問題,前后不止會遇到一次 ,每次遇到每次搜索。因為在Linux上基本都是使用命令行操作,各種命令、工具、配置、路徑等等不可能完全記得住,借助搜索引擎也是可以理解,但是網上的東西雜亂無章,開放性的問題(例如網絡不通)通常難以匹配到完美的解決辦法,總結一套自己的辦法就顯得尤為重要了。網絡配置和ssh服務是Linux非常基礎的功能,很多時候這2個東西搞不起來后面的事情都進行不下去,趁着最近又重新把這部分實踐了一次,中間也遇到了一些問題,這里記錄一下過程以防日后再次掉坑。

以下步驟的環境均是在win10系統中使用VMware Workstation搭建的虛擬機,實測通過。

1、准備工作

VMware安裝好后會在本地創建2個虛擬網絡適配器VMnet1和VMnet8,本文介紹的配置方法是使用NAT模式,所以虛擬機要選擇使用VMnet8這個網卡:

除此之外,還要配置VMnet8所在的網段(划重點,要考的):

這里設置的子網ip和網關和宿主機沒有關系,可以自己隨意設置。

##這里我的配置給自己挖了一個坑。。。后面說到

 

2、Ubuntu

開啟虛擬機登錄到系統中。

ubuntu的網絡配置文件地址是/etc/network/interfaces,所以我們編輯這個文件:

sudo vim /etc/network/interfaces

然后按insert鍵進入編輯模式,在文件中輸入:

iface lo inet loopback auto ens33 iface ens33 inet static address 192.168.174.1 netmask 255.255.255.0 gateway 192.168.174.2

這里的ens33是虛擬機的網卡名稱,如果不知道自己的網卡名稱,可以輸入命令ifconfig來查看。第3行中的static即表示使用靜態ip配置,相對應的是dhcp(動態配置),address是要設置的ip地址,必須是在前面VMnet8所設置的網段中,剩下的網關和子網掩碼和VMnet8的一致。

編輯完之后,按ECS退出編輯,再輸入:wq回車保存文件退出,輸入sudo  /etc/init.d/networking restart或者sudo service networking restart重啟網卡(不行就reboot重啟機器),ifconfig查一下ip是否已經生效。

試一下網絡通了沒:

ping www.baidu.com

  

提示unkown host,原因是沒有配置DNS地址,查看一下DNS配置文件:

cat /etc/resolv.conf

這里面空空如也,但是卻不能直接在這個文件里配置,因為注釋里面寫了:該文件是resolvconf程序動態創建的,如果手動編輯的話將會配覆蓋。那么如何設置DNS呢,有2種辦法。

第一種是在interfaces中設置一個dns-nameservers參數:

dns-nameservers 8.8.8.8

第二種是設置dns的配置文件:

sudo vim /etc/resolvconf/resolv.conf.d/base

在這個文件中加入:

nameserver 8.8.8.8

退出保存后重啟網卡,重新ping一下百度域名,連網成功了。

重新查看resolv.conf,DNS已經設置成功。

這里的8.8.8.8是谷歌提供的DNS服務,其他的供應商地址可以參考以下圖片(來自於網絡):

再ping一下宿主機地址,也沒問題:

於是開始安裝ssh:

sudo apt-get install openssh-server

啟動ssh:

sudo service ssh start

查看是否啟動成功:

一切准備就緒,滿心歡喜地打開xshell准備連接虛擬機,卻發現怎么都連不上:

Connecting to 192.168.174.1:22... Could not connect to '192.168.174.1' (port 22): Connection failed.

檢查22端口也已經開啟,其他配置也都正常。

嘗試ping一下虛擬機,發現請求超時:

網上各種搜索,最后懷疑是虛擬網卡的ip設置問題,ipconfig查看網卡信息確實有問題:

查看VMnet8的ip配置,發現是DHCP自動獲取的,於是手動指定一個IP和網關,與前面VMware網絡編輯器中的一致(划重點,要考的):

  

再重新ping一下虛擬機地址192.168.174.1,終於正常了。再次使用xshell連接,發現還是不行,懷疑是機器本身環境的問題,於是新開一台虛擬機,ip設置為192.168.174.3,其他全部和前面的一致,xshell連接成功。回頭再次折騰第一台機器,修改ip為192.168.174.4,問題解決。

那么問題來了,網關是174.2,174.3和174.4都可以,偏就174.1不行,啥原因?

 

3、Centos

由於都是基於Linux內核,所以centos的配置也大同小異。在centos中,每個網關對應了自己的配置文件,所以第一步先查看網卡名稱找到需求修改的配置文件:

ip addr

或者

ifconfig

配置文件的存放路徑是/etc/sysconfig/network-scripts,我這里的網卡名稱是ens33,所以對應的配置文件是ifcfg-ens33,開始修改文件:

sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

新增或替換以下配置項:

BOOTPROTO="static" ONBOOT="yes" #開機啟用 IPADDR=192.168.174.5 GATEWAY=192.168.174.2 NETMASK=255.255.255.0 DNS1=8.8.8.8 

各項參數的意義和ubuntu中的一致。然后重啟網絡服務:

sudo systemctl restart network

或者

sudo service network restart

再次ip addr,發現ip已經生效。然后ping宿主機和ping百度,一切都正常:

開始安裝ssh服務:

sudo yum install openssh-server

修改配置文件:

sudo vim /etc/ssh/sshd_config

Port=22的注釋去掉,如果要使用root用戶登錄,就把PermitRootLogin設置為yes,:wq保存退出。啟動ssh:

sudo systemctl start sshd.service

加入開機自啟動:

sudo systemctl enable sshd.service

打開xshell連接,OK。

 

4、總結

經歷了前面基礎工作的鋪墊,centos配置起來非常順利,總結一下主要有以下幾個重點:

  • 虛擬網卡VMnet8、VMware網絡配置、虛擬機網絡配置這幾處的網段和網關要一致,基本能避免90%以上異常。

  • 重啟服務甚至重啟系統來使配置生效。

  • 如果配到后面怎么都不行,把網絡編輯器恢復到默認設置然后重新開始。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM