XShell提示Connection closed by foreign host的問題 和 路由器分配IP的規則


一.出現此問題的大體情況和前期調查

VMware中有三個Linux機器分別是crxy99(192.168.1.99),crxy100(192.168.1.100),crxy101(192.168.1.101),crxy101是通過crxy100克隆復制出來的.

通過SecureCRT或者XShell遠程SSH登錄到這三台機器.

但是crxy100和crxy101總是掉線,但是有時候相當長一些時間是可以正常連接的.

XShell提示如下:

 經過一番調查發現:crxy100和crxy101的網卡UUID在/etc/sysconfig/network-scripts/ifcfg-eth0文件中對應的是一樣的.(最終調查發現其實和這個沒有關系....)

二.在網上調查到的此問題的解決方法(每個人的情況可能不同,有可能會解決你的問題)

上網調查發現出現這個問題(提示Connection closed by foreign host)的情況的原因有如下:

1.兩個人都是都要登錄此虛擬機.

  相關文章:http://blog.sina.com.cn/s/blog_6ccfa4f30100spvg.html

2.沒有設置超時時間等.

  相關文章:http://blog.csdn.net/zgl07/article/details/40424637

    解決方案是:

    sudo vim /etc/ssh/sshd_config

    添加兩行:    

    ClientAliveInterval 60
    ClientAliveCountMax 3

    然后

    sudo /etc/init.d/sshd restart

我以第二種方式進行處理,但是仍不解決問題.

三.調查到出現在我機器出現這個問題的具體原因 (IP地址沖突導致!)

調查才發現這個原因是因為IP地址沖突造成的.

我給crxy100和crxy101設置的是靜態IP,而IP地址是192.168.1.100和192.168.1.101    (我所在的網絡環境是用的無線路由,屋里的鄰居都連接這個路由器.)

 (一)路由器的分配IP的規則

先看一張無線路由器的設置界面:(不同的路由器設置界面不同,但是DHCP服務設置大同小異.)

關於DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個局域網的網絡協議,使用UDP協議工作, 主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址.

頁面中的DHCP的設置項中有兩個設置:①租約 ②起始IP和終止IP

1.起始IP和終止IP:

默認是從2至254自動分配,1一般是默認給路由器使用,255是保留地址,不能分配的,192.168.1.0是網絡號,192.168.1.1是路由器地址(登陸這個可以針對路由器設置).192.168.1.255是廣播地址.這幾個地址是不會動態分配的.

至於隨機分配還是順序分配,從查看到的實際記錄來看,是順序分配的,即從低到高一個一個分配,先到先得分配后把IP跟MAC地址關聯,下次分配則按關聯來分配,一般情況是這樣,只能是大概,具體卻又不是每一次都絕對這樣分配.

但是動態分配的IP一般是從100(192.168.1.100)開始的.

所以問題就在這里.屋里的人都使用這個路由器,有很多的設備,而且這些設備是從192.168.1.100開始分配的.而我設置的Linux虛擬機的IP地址也是這個.

這樣就造成了IP地址沖突的問題. 這樣就解釋了XShell遠程連接Linux經常會出現斷開,並且提示"Connection closed by foreign host"的原因.

2.租約:

  1. 路由器中DHCP服務的租借周期是IP地址的租用時間,這個時間一到必須釋放,然后重新租用。

  2. DHCP服務的租用過程是這樣的:電腦等客戶端發送DHCP請求信息,DHCP服務器相應客戶端的請求,最后DHCP客戶端確認。

  3. 在租用周期過一半的時候客戶端必須重新發出租用原來的IP地址請求,如果可以就繼續使用原來的IP地址,否則在期滿后必須放棄該IP地址。

  4. 寬帶路由器的DHCP租用周期最小是1分鍾,最大是2880分鍾(兩天),默認值為120分鍾。

所以在屋內另外一台設備(占用1.100)租約期間內只要它連接到了該無線局域網中就永遠占用同一個IP192.168.1.100(這個IP地址的占用是和設備的連入局域網的順序是沒有必然的關系的)

除非屋內的這台設備沒有連接到該無線局域網中,我的Linux(1.100)才能正常的通過XShell遠程連接 .

 

只有啟用DHCP服務才會涉及到“地址租期”。因為DHCP為客戶機分配ip地址是隨機而且有期限的,期限到了就會收回再重新分配一個新的給你,這個時間就是“地址租期”了。內部通過路由器上網,計算機不算多,所以ip地址不緊張,租期可以相對設置的長一些.

四.總結

解決這個問題最好的方法就是我要修改自己Linux系統的靜態IP地址.       在靜態設置IP地址之前最好要ping一下該IP地址是否被占用!

 



 


免責聲明!

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



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