ubuntu-l2tpv3配置介绍

ubuntu-l2tpv3配置介绍

参考连接http://manpages.ubuntu.com/manpages/trusty/man8/ip-l2tp.8.html

trusty (8) ip-l2tp.8.gz
Provided by: iproute2_3.12.0-2_i386 bug

NAME
ip-l2tp - L2TPv3 static unmanaged tunnel configuration

SYNOPSIS
ip [ OPTIONS ] l2tp { COMMAND | help }

ip l2tp add tunnel
           remote [ ADDR ] local [ ADDR ]
           tunnel_id ID peer_tunnel_id ID
           [ encap { ip | udp } ]
           [ udp_sport PORT  ] [ udp_dport PORT  ]
   ip l2tp add session [ name NAME  ]
           tunnel_id ID session_id ID peer_session_id ID
           [ cookie HEXSTR  ] [ peer_cookie HEXSTR  ]
           [ l2spec_type { none | default } ]
           [ offset OFFSET  ] [ peer_offset OFFSET  ]
   ip l2tp del tunnel tunnel_id ID
   ip l2tp del session tunnel_id ID session_id ID
   ip l2tp show tunnel [ tunnel_id ID ]
   ip l2tp show session [ tunnel_id ID ] [ session_id ID ]
   NAME := STRING
   ADDR := { IP_ADDRESS }
   PORT := { NUMBER }
   ID := { NUMBER }
   HEXSTR := { 8 or 16 hex digits (4 / 8 bytes) }

DESCRIPTION
The ip l2tp commands are used to establish static,or so-called
unmanaged L2TPv3 ethernet tunnels. For unmanaged tunnels,there is no
L2TP control protocol so no userspace daemon is required - tunnels are
manually created by issuing commands at a local system and at a remote
peer.

L2TPv3 is suitable for Layer-2 tunneling. Static tunnels are useful to
   establish network links across IP networks when the tunnels are fixed.
   L2TPv3 tunnels can carry data of more than one session. Each session is
   identified by a session_id and its parent tunnel's tunnel_id. A tunnel
   must be created before a session can be created in the tunnel.

   When creating an L2TP tunnel,the IP address of the remote peer is
   specified,which can be either an IPv4 or IPv6 address. The local IP
   address to be used to reach the peer must also be specified. This is
   the address on which the local system will listen for and accept
   received L2TP data packets from the peer.

   L2TPv3 defines two packet encapsulation formats: UDP or IP. UDP
   encapsulation is most common. IP encapsulation uses a dedicated IP
   protocol value to carry L2TP data without the overhead of UDP. Use IP
   encapsulation only when there are no NAT devices or firewalls in the
   network path.

   When an L2TPv3 ethernet session is created,a virtual network interface
   is created for the session,which must then be configured and brought
   up,just like any other network interface. When data is passed through
   the interface,it is carried over the L2TP tunnel to the peer. By
   configuring the system's routing tables or adding the interface to a
   bridge,the L2TP interface is like a virtual wire (pseudowire)
   connected to the peer.

   Establishing an unmanaged L2TPv3 ethernet pseudowire involves manually
   creating L2TP contexts on the local system and at the peer. Parameters
   used at each site must correspond or no data will be passed. No
   consistency checks are possible since there is no control protocol used
   to establish unmanaged L2TP tunnels. Once the virtual network interface
   of a given L2TP session is configured and enabled,data can be
   transmitted,even if the peer isn't yet configured. If the peer isn't
   configured,the L2TP data packets will be discarded by the peer.

   To establish an unmanaged L2TP tunnel,use l2tp add tunnel and l2tp add
   session commands described in this document. Then configure and enable
   the tunnel's virtual network interface,as required.

   Note that unmanaged tunnels carry only ethernet frames. If you need to
   carry PPP traffic (L2TPv2) or your peer doesn't support unmanaged
   L2TPv3 tunnels,you will need an L2TP server which implements the L2TP
   control protocol. The L2TP control protocol allows dynamic L2TP tunnels
   and sessions to be established and provides for detecting and acting
   upon network failures.

ip l2tp add tunnel - add a new tunnel
name NAME
sets the session network interface name. Default is l2tpethN.

tunnel_id ID
          set the tunnel id,which is a 32-bit integer value. Uniquely
          identifies the tunnel. The value used must match the
          peer_tunnel_id value being used at the peer.

   peer_tunnel_id ID
          set the peer tunnel id,which is a 32-bit integer value assigned
          to the tunnel by the peer. The value used must match the
          tunnel_id value being used at the peer.

   remote ADDR
          set the IP address of the remote peer. May be specified as an
          IPv4 address or an IPv6 address.

   local ADDR
          set the IP address of the local interface to be used for the
          tunnel. This address must be the address of a local interface.
          May be specified as an IPv4 address or an IPv6 address.

   encap ENCAP
          set the encapsulation type of the tunnel.
          Valid values for encapsulation are: udp,ip.

   udp_sport PORT
          set the UDP source port to be used for the tunnel. Must be
          present when udp encapsulation is selected. Ignored when ip
          encapsulation is selected.

   udp_dport PORT
          set the UDP destination port to be used for the tunnel. Must be
          present when udp encapsulation is selected. Ignored when ip
          encapsulation is selected.

ip l2tp del tunnel - destroy a tunnel
tunnel_id ID
set the tunnel id of the tunnel to be deleted. All sessions
within the tunnel must be deleted first.

ip l2tp show tunnel - show information about tunnels
tunnel_id ID
set the tunnel id of the tunnel to be shown. If not specified,
information about all tunnels is printed.

ip l2tp add session - add a new session to a tunnel
name NAME
sets the session network interface name. Default is l2tpethN.

tunnel_id ID
          set the tunnel id,which is a 32-bit integer value. Uniquely
          identifies the tunnel into which the session will be created.
          The tunnel must already exist.

   session_id ID
          set the session id,which is a 32-bit integer value. Uniquely
          identifies the session being created. The value used must match
          the peer_session_id value being used at the peer.

   peer_session_id ID
          set the peer session id,which is a 32-bit integer value
          assigned to the session by the peer. The value used must match
          the session_id value being used at the peer.

   cookie HEXSTR
          sets an optional cookie value to be assigned to the session.
          This is a 4 or 8 byte value,specified as 8 or 16 hex digits,e.g. 014d3636deadbeef. The value must match the peer_cookie
          value set at the peer. The cookie value is carried in L2TP data
          packets and is checked for expected value at the peer. Default
          is to use no cookie.

   peer_cookie HEXSTR
          sets an optional peer cookie value to be assigned to the
          session. This is a 4 or 8 byte value,specified as 8 or 16 hex
          digits,e.g. 014d3636deadbeef. The value must match the cookie
          value set at the peer. It tells the local system what cookie
          value to expect to find in received L2TP packets. Default is to
          use no cookie.

   l2spec_type L2SPECTYPE
          set the layer2specific header type of the session.
          Valid values are: none,udp.

   offset OFFSET
          sets the byte offset from the L2TP header where user data starts
          in transmitted L2TP data packets. This is hardly ever used. If
          set,the value must match the peer_offset value used at the
          peer. Default is 0.

   peer_offset OFFSET
          sets the byte offset from the L2TP header where user data starts
          in received L2TP data packets. This is hardly ever used. If set,the value must match the offset value used at the peer. Default
          is 0.

ip l2tp del session - destroy a session
tunnel_id ID
set the tunnel id in which the session to be deleted is located.

session_id ID
          set the session id of the session to be deleted.

ip l2tp show session - show information about sessions
tunnel_id ID
set the tunnel id of the session(s) to be shown. If not
specified,information about sessions in all tunnels is printed.

session_id ID
          set the session id of the session to be shown. If not specified,information about all sessions is printed.

EXAMPLES
Setup L2TP tunnels and sessions
site-A:# ip l2tp add tunnel tunnel_id 3000 peer_tunnel_id 4000 \
encap udp local 1.2.3.4 remote 5.6.7.8 \
udp_sport 5000 udp_dport 6000
site-A:# ip l2tp add session tunnel_id 3000 session_id 1000 \
peer_session_id 2000

site-B:# ip l2tp add tunnel tunnel_id 4000 peer_tunnel_id 3000 \
              encap udp local 5.6.7.8 remote 1.2.3.4 \
              udp_sport 6000 udp_dport 5000
   site-B:# ip l2tp add session tunnel_id 4000 session_id 2000 \
              peer_session_id 1000

   site-A:# ip link set l2tpeth0 up mtu 1488

   site-B:# ip link set l2tpeth0 up mtu 1488

   Notice that the IP addresses,UDP ports and tunnel / session ids are
   matched and reversed at each site.

Configure as IP interfaces
The two interfaces can be configured with IP addresses if only IP data
is to be carried. This is perhaps the simplest configuration.

site-A:# ip addr add 10.42.1.1 peer 10.42.1.2 dev l2tpeth0

   site-B:# ip addr add 10.42.1.2 peer 10.42.1.1 dev l2tpeth0

   site-A:# ping 10.42.1.2

   Now the link should be usable. Add static routes as needed to have data
   sent over the new link.

Configure as bridged interfaces
To carry non-IP data,the L2TP network interface is added to a bridge
instead of being assigned its own IP address,using standard Linux
utilities. Since raw ethernet frames are then carried inside the
tunnel,the MTU of the L2TP interfaces must be set to allow space for
those headers.

site-A:# ip link set l2tpeth0 up mtu 1446
   site-A:# ip link add br0 type bridge
   site-A:# ip link set l2tpeth0 master br0
   site-A:# ip link set eth0 master br0
   site-A:# ip link set br0 up

   If you are using VLANs,setup a bridge per VLAN and bridge each VLAN
   over a separate L2TP session. For example,to bridge VLAN ID 5 on eth1
   over an L2TP pseudowire:

   site-A:# ip link set l2tpeth0 up mtu 1446
   site-A:# ip link add brvlan5 type bridge
   site-A:# ip link set l2tpeth0.5 master brvlan5
   site-A:# ip link set eth1.5 master brvlan5
   site-A:# ip link set brvlan5 up

   Adding the L2TP interface to a bridge causes the bridge to forward
   traffic over the L2TP pseudowire just like it forwards over any other
   interface. The bridge learns MAC addresses of hosts attached to each
   interface and intelligently forwards frames from one bridge port to
   another. IP addresses are not assigned to the l2tpethN interfaces. If
   the bridge is correctly configured at both sides of the L2TP
   pseudowire,it should be possible to reach hosts in the peer's bridged
   network.

   When raw ethernet frames are bridged across an L2TP tunnel,large
   frames may be fragmented and forwarded as individual IP fragments to
   the recipient,depending on the MTU of the physical interface used by
   the tunnel. When the ethernet frames carry protocols which are
   reassembled by the recipient,like IP,this isn't a problem. However,such fragmentation can cause problems for protocols like PPPoE where
   the recipient expects to receive ethernet frames exactly as
   transmitted. In such cases,it is important that frames leaving the
   tunnel are reassembled back into a single frame before being forwarded
   on. To do so,enable netfilter connection tracking (conntrack) or
   manually load the Linux netfilter degrag modules at each tunnel
   endpoint.

   site-A:# modprobe nf_degrag_ipv4

   site-B:# modprobe nf_degrag_ipv4

   If L2TP is being used over IPv6,use the IPv6 degrag module.

INTEROPERABILITY
Unmanaged (static) L2TPv3 tunnels are supported by some network
equipment equipment vendors such as Cisco.

In Linux,L2TP Hello messages are not supported in unmanaged tunnels.
   Hello messages are used by L2TP clients and servers to detect link
   failures in order to automate tearing down and reestablishing dynamic
   tunnels. If a non-Linux peer supports Hello messages in unmanaged
   tunnels,it must be turned off to interoperate with Linux.

   Linux defaults to use the Default Layer2SpecificHeader type as defined
   in the L2TPv3 protocol specification,RFC3931. This setting must be
   consistent with that configured at the peer. Some vendor
   implementations (e.g. Cisco) default to use a Layer2SpecificHeader type
   of None.

SEE ALSO
ip(8)

AUTHOR
James Chapman jchapman@katalix.com

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读2.3k次,点赞4次,收藏22次。最近安装了CARLA预编译版,总体过程感觉还是挺简单的,但是由于在网上找的参考资料并没有和自己遇到的情况完全一样的,所以把自己的安装过程记录下来,方便和自己一样的后来人进行安装,同时也自己作个记录留作备忘。其实预编译版的CARLA本身几乎不用什么命令行进行安装,主要步骤只有解压缩和拷贝文件,和极少的命令行安装操作。但是相关依赖以及其它的CARLA所使用的一些工具需要一起安装好,下面一起来看看安装步骤吧。_ubuntu22.04安装carla
文章浏览阅读6.3k次,点赞5次,收藏15次。在清华镜像中下载Ubuntu 20 安装包_ubuntu20下载
文章浏览阅读5k次。linux环境, python3.7.问题描述: 安装rally, pip3 install -r requirements.txt 时提示如下: 说明openssl 已安装。解决:1. pip3 install --upgrade pip , 结果输出如下 ..._error: command '/usr/bin/gcc' failed with exit code 1
文章浏览阅读1.1k次。自己刚踩坑装好的W11 WSL2 miniconda_wsl2 cuda
文章浏览阅读4.2k次,点赞4次,收藏17次。要安装这个 standalone的,会有一点区别(不识别 下面的 -localhost no)上面的命令会在~/.vnc/目录下生成一个 passwd文件。具体端口号,可以查看vncserver -list返回结果中的RFB PROT。作用是vncserver启动的时候运行这些命令,把桌面程序启动起来。如果希望用某个用户比如 demo登录,就用su切换到这个用户。桌面版默认就已安装,服务器版需要手动安装,并启动。关闭某个会话可以用下面的命令。远程地址输入ip:port。查看全部的vnc会话。_ubuntu vncserver
文章浏览阅读894次,点赞51次,收藏31次。在安卓使用vscode主要是连接一个远程的code-server服务,code-server服务安装在什么系统,调用的就是什么系统的环境,如这里使用ubuntu进行安装code-server,那使用的就是ubuntu环境,如需要go,python,java开发,需要在Ubuntu安装相关环境,创建的文件夹和项目也是在Ubuntu里面.这种方式其实在访问vscode的时候利于可以随时随地进行连接使用,且不受设备影响。
安装Ubuntu上超好用的终端Terminator。通过添加软件源、更新源、安装Terminator等步骤完成。
文章浏览阅读1.1k次,点赞83次,收藏74次。不要嫌弃Ubuntu的单调的终端界面啦,快来试试这些有意思的命令_ubuntu系统有趣的玩法
文章浏览阅读2.5k次。在ubuntu系统中,swap空间就是虚拟内存,所以考虑在磁盘空间富余的目录下设置虚拟内存swap文件,用来缓解内存不足的问题。通过上面的信息可以看到,/dev/vda2 目录下还剩余45G,那么就可以把swap文件生成在/dev/vda2目录下。在系统监控中发现,当数据库服务程序启动后,占用了大量内存空间,导致系统的剩余的内存往往只有几十MB。# bs 为块的大小,count 创建多少个块。# 执行命令后,删除创建的swap目录即可。#把生成的文件转换成 Swap 文件。2、创建一个swap文件。_ubuntu20修改swap大小
文章浏览阅读2.9k次,点赞2次,收藏10次。记录RV1126的SDK编译错误,以及解决处理_command exited with non-zero status 1
文章浏览阅读1.1w次,点赞22次,收藏101次。【记录】ubuntu20.04安装nvidia显卡驱动_ubuntu20.04安装nvidia显卡驱动
文章浏览阅读727次,点赞6次,收藏27次。在嵌入式Linux开发过程中,可能遇到uboot无法通过nfs服务从Ubuntu下载系统镜像(TTTTTT)的问题。如果你使用的是较新版本的Ubuntu,那么其**默认内核将不支持nfs2**!而**uboot仅支持到nfs2**,因此我们需要修改系统内核以及nfs配置文件,开启nfs2服务。**此问题非常棘手**,因为问题出现的时间太近,并且使用的人少。由于是2023年后才出现的问题,**chatgpt也无法解答**!本文参考网络上多篇博客资料,是解决此问题的最新办法。
ubuntu系统下安装软件的方法有多种,包括使用apt工具、deb软件包安装、源码编译安装以及通过软件中心安装。还有一种以 .run 后缀的软件包也可以在ubuntu系统下安装。具体的安装方法可以通过百度搜索来获取。
文章浏览阅读814次。本篇目的:Xubuntu如何安装pkg-configpkg-config是一个计算机软件包,用于帮助开发人员查找、定位和使用依赖库。它通常用于构建软件时,开发人员需要指定程序所依赖的外部库的位置和版本信息。使用pkg-config,开发人员可以很容易地查找、检索和导出这些依赖库的信息,从而简化了软件的构建过程。_ubuntu中怎么下载pkg-config
文章浏览阅读2k次。ubuntu创建共享文件夹_ubuntu20.04共享文件夹
文章浏览阅读2.9k次,点赞74次,收藏73次。对于有长期远程桌面需求的用户,建议将cpolar套餐升级到专业套餐,支持配置固定的公网TCP端口,且带宽也会相应的增大,支持更高效便捷的远程桌面连接Ubuntu系统。【cpolar内网穿透支持http/https/tcp协议,支持永久免费使用,不限制流量,无需公网IP,也不用进入路由器设置,操作简单。隧道创建成功后,点击左侧仪表盘的状态——在线隧道列表,查看xrdp隧道的所生成的公网TCP端口地址,复制下来。,使用cpolar内网穿透映射3389端口,生成公网TCP端口地址,实现在公网环境下,_ubuntu 局域网桌面
文章浏览阅读3.2k次。而在linux的ubuntu版本中,又多出两类用户:安装ubuntu系统的源用户xxx,其与root具有相同权限,仅在执行命令时,前面加sudo。在ubuntu中,用命令deluser username可以直接删除用户账号及家目录,而用centos7中的命令userdel -r username才能达到同样目的。在ubuntu中,没有moduser命令,centos7中的usermod修改用户信息的命令,同样可以用在ubuntu中。在系统中,创建新的用户或称为账号,一般需要多步操作。_ubuntu创建一个新用户
文章浏览阅读1.6w次,点赞4次,收藏23次。系统的许多日志文件都存储在 /var/log 目录中。你可以使用 ls /var/log 命令来列出可用的日志文件。/var/log/Xorg.0.log:包含 X 服务器的日志信息(图形界面)。打开DASH,搜索日志或者log,打开app,这个是/var/log的界面版。这将显示系统日志的末尾,并提供有关系统崩溃和错误的信息。/var/log/kern.log:包含内核日志信息。/var/log/dmesg:包含开机时的日志信息。/var/log/syslog:包含系统日志信息。_ubuntu查看系统日志
文章浏览阅读857次。首先将source.list复制为source.list.bak备份,然后将source.list内容改为需要的镜像源列表即可。Ubuntu采用apt作为软件安装工具,其镜像源列表记录在/etc/apt/source.list文件中。本节均为 Ubuntu 20.04 的镜像源列表。若为其他版本,将所有focal更改为其他版本代号即可。_apt 国内源