美文网首页虚拟化
openvpn虚拟网卡mtu导致ssh登录不上

openvpn虚拟网卡mtu导致ssh登录不上

作者: 残风疏影 | 来源:发表于2017-07-05 17:46 被阅读65次

    重新回到ubuntu,使用ssh加上-vvv参数,检查登陆信息,发现是到这里卡住:
    就是这一行debug1: expecting SSH2_MSG_KEX_ECDH_REPLY.

    google搜了下,发现有两个可能的原因:

    一个是因为IPv6导致,这个可以排除;
    另外一个就是mtu问题,也即虚拟网卡mtu大于vpn服务器那边的网络mtu。
    尝试修改openvpn的虚拟网卡mtu,发现真的可以成功登陆上:

    利用ifconfig找到虚拟网卡的设备号:tun0

    然后修改mtu为1200:
    然后重新用ssh登陆服务器,能够成功登陆上。

    问题解释

    这里简单说下原因(可能不是很准确):

    因为使用openvpn,本地主机与服务器的连接是通过tun0这个虚拟网卡设备;
    vpn服务器到目标服务器之间的网络设备(简称为目标网络)规定的MTU比tun0的MTU小;
    ssh 密钥交换阶段一次发送的数据一般大于 1500 字节,因此至少填满了一个 MTU;
    通过tun0发出密钥交换信息,因为大于目标网络的MTU,而被丢弃;
    将tun0设备的MTU设置为1200后,不会超过目标网络设定的MTU,因此可以正常交换密钥。

    相关文章

      网友评论

        本文标题:openvpn虚拟网卡mtu导致ssh登录不上

        本文链接:https://www.haomeiwen.com/subject/yfwqhxtx.html