Linux

在 LAN 上的 Linux 機器之間測試 IPv6

  • April 14, 2011

我正在嘗試設置 IPv6 測試平台。非常基本:只有兩個 Ubuntu Linux 機器通過 LAN 相互通信。兩個盒子都有工作的 IPv4 連接,但我在 IPv6 上使用 SSH 沒有運氣。按照這個HOWTO,我在站點本地範圍 (fec0::) 中給出了兩台機器的地址。在第一個盒子上,我跑了:

sudo ifconfig eth0 inet6 add fec0::1/64

第二次,我跑了:

sudo ifconfig eth0 inet6 add fec0::2/64

然後我檢查了路由表,每個似乎都有一條通過 eth0 介面到該網路的路由。接下來,我添加了一個/etc/hosts從第二個框指向第一個框的條目。但是當我嘗試從第二個盒子到第一個盒子的 SSH 時,SSH 客戶端只是掛起。沒有錯誤或任何東西。如果我tcpdump在客戶端上執行,我根本看不到 IPv6 流量。這是怎麼回事?

請注意,如果我 SSH 到ip6-localhost從伺服器機器到自身的地址,它工作正常,所以它似乎不是 SSH 問題。非常感謝任何幫助。

首先,如果已ufw安裝,請檢查/etc/default/ufw是否設置了該IPV6=no選項。預設情況下,您必須將其設置為yesufw將防火牆所有 IPv6 流量。

完成此操作後,嘗試一些在學習 IPv6 時應該了解的基本診斷。

您應該做的第一件事是安裝ndisc6軟體包,然後嘗試進行鄰居請求。(這相當於在 IPv4 中執行 ARP 請求)

sudo apt-get install ndisc6

請注意,您需要universe為此啟用儲存庫。

然後,從您的第一台機器:

ndisc6 fec0::2 eth0

這將確保您可以找到fec0::2.

(請注意,該ndisc6軟體包還附帶一個名為的實用實用程序rdisc6,如果您的網路上有 IPv6 路由器,該實用程序會很有用;它將檢查路由器是否正確響應。)

在驗證鄰居發現有效後,下一次嘗試ping6 fec0::2

如果您仍然遇到問題,您可能想要發布的其他診斷資訊:

/sbin/ip -6 addr
/sbin/ip -6 neigh
/sbin/ip -6 route
sudo /sbin/ip6tables -L

引用自:https://serverfault.com/questions/106864