Linux
在 LAN 上的 Linux 機器之間測試 IPv6
我正在嘗試設置 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
選項。預設情況下,您必須將其設置為yes
或ufw
將防火牆所有 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