zoukankan      html  css  js  c++  java
  • 另类L2TP Tunnel

    说到L2TP VPN,大家肯定会想到xl2tpd和openswan的组合,这是传统L2TP VPN所需要的组件。安装配置步骤相对比较复杂。通常用作Point to Site模式,即:多个接入点(PC、服务器或者移动设备)连接(拨号)到一个服务器。传统L2TP VPN的兼容性非常好,主流操作系统原生支持L2TP协议。
    Linux内核从3.2开始内置了L2TP Tunnel功能,安装和配置简单,不需要任何第三方的组件。缺点是只能支持Site to Site模式,和GRE Tunnel、IPIP Tunnel类似。这种L2TP VPN还有一个最大的优势就是:接入服务器可以位于NAT设备后面,使用UDP协议通讯,因此非常适合在各种公有云上使用(特别是网络功能不怎么健全的Microsoft Azure)。
    我们使用Ubuntu Server 16.04 LTS为例,在Microsoft Azure日本西和腾讯云广州之间搭建L2TP Tunnel。将Microsoft Azure日本西作为服务器,腾讯云广州作为客户端。客户端的部分网络流量经过L2TP Tunnel从服务器端发出。

    服务器端配置

    #开启L2TP Tunnel功能,执行一次即可
    sudo modprobe l2tp_eth
    sudo ip l2tp add tunnel tunnel_id 3000 peer_tunnel_id 4000 encap udp local [服务器内网IP地址] remote [客户端公网IP地址] udp_sport 5000 udp_dport 6000
    sudo ip l2tp add session tunnel_id 3000 session_id 1000 peer_session_id 2000
    sudo ip link set l2tpeth0 up mtu 1488
    #设置Tunnel网卡地址
    sudo ip addr add 10.99.1.1 peer 10.99.1.2 dev l2tpeth0
    #开启ip转发
    sysctl -w net.ipv4.ip_forward=1
    #开启SNAT伪装
    sudo iptables -t nat -A POSTROUTING -s 10.99.1.0/24 -j SNAT --to-source [服务器内网IP地址]

    客户端配置

    #开启L2TP Tunnel功能,执行一次即可
    sudo modprobe l2tp_eth
    sudo ip l2tp add tunnel tunnel_id 4000 peer_tunnel_id 3000 encap udp local [客户端内网IP地址] remote [服务器公网IP地址] udp_sport 6000 udp_dport 5000
    sudo ip l2tp add session tunnel_id 4000 session_id 2000 peer_session_id 1000
    sudo ip link set l2tpeth0 up mtu 1488
    #设置Tunnel网卡地址
    sudo ip addr add 10.99.1.2 peer 10.99.1.1 dev l2tpeth0

    注意上述配置中,服务器和客户端的[tunnel_id]和[peer_tunnel_id],[session_id]和[peer_session_id],[udp_sport]和[udp_dport]是“对调互换”的。两边Tunnel网卡地址和peer地址也是类似的“对调互换”;服务器端需要开启IP转发功能和SNAT;客户端要根据具体的需求配置静态路由规则(使用route add命令);还有就是记得为两边的服务器开启对应的UDP端口,通常是在云平台的Security Group功能中进行配置。本例中要开放UDP 5000和UDP 6000端口。
    至此一个高效快捷的L2TP Tunnel就创建完成了,像配置GRE Tunnel一样简洁迅速,同时又具备良好的公有云环境兼容性。

  • 相关阅读:
    训练总结
    图论--最短路--SPFA模板(能过题,真没错的模板)
    图论--最短路-- Dijkstra模板(目前见到的最好用的)
    The 2019 Asia Nanchang First Round Online Programming Contest B Fire-Fighting Hero(阅读理解)
    关于RMQ问题的四种解法
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 K题 center
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 XKC's basketball team
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 D Carneginon
    ZOJ 3607 Lazier Salesgirl (枚举)
    ZOJ 3605 Find the Marble(dp)
  • 原文地址:https://www.cnblogs.com/hunterxue/p/6393330.html
Copyright © 2011-2022 走看看