我正在尝试建立一个IPv6测试平台.非常基本:只有两个Ubuntu
Linux机箱通过LAN互相通信.两个盒子都有可用的IPv4连接,但我没有运气使用SSH over IPv6.在这个
HOWTO之后,我已经在站点本地范围(fec0::)中给出了两个机器地址.在第一个方框中,我跑了:
sudo ifconfig eth0 inet6 add fec0::1/64
第二,我跑了:
sudo ifconfig eth0 inet6 add fec0::2/64
然后我检查了路由表,每个路由表都有一条通过eth0接口的网络路由.接下来,我在/ etc / hosts中添加了一个从第二个框指向第一个框的条目.但是当我尝试从第二个框连接到第一个框时,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的MAC地址.
(注意,ndisc6软件包还附带了一个名为rdisc6的方便实用程序,如果您的网络上有IPv6路由器,它可能很有用;它会检查路由器是否正确响应.)
在验证邻居发现有效后,接下来尝试ping6 fec0 :: 2.
如果您仍然遇到问题,可能需要发布其他诊断信息:
/sbin/ip -6 addr /sbin/ip -6 neigh /sbin/ip -6 route sudo /sbin/ip6tables -L