Ubuntu18.04双网卡环境下安装L2TP

一、场景

最近遇到一个需要通过IPSec/L2TP来实现本地双网卡的网络转发的测试需求。具体内容就是,在一台Ubuntu18.04的机器上配置了双网卡ens33和ens34,需要通过ens33拨入,然后通过ens34将数据转发出去,使用psk的l2tp协议。

二、遇到问题

安装过程比较简单,很快完成了安装以及iptables和路由表的配置,功能正常,但是始终出现一个奇怪的问题就是,l2tp的连接会在大约25分钟左右中断,并且无法再重新接入,查看了日志具体表现在以下的错误。

xl2tpd[26104]: Maximum retries exceeded for tunnel 33925.  Closing.
xl2tpd[26104]: Connection 0 closed to xxx.xxx.xxx.xxx, port 1701 (Timeout)
xl2tpd[26104]: Unable to deliver closing message for tunnel 33925. Destroying anyway.

经过反复查看日志发现,是在配置网卡之后系统会自动将默认的网卡从ens33切换到ens34,导致该错误。于是通过在l2tp的配置中强制将1701端口的服务绑定到ens33的IP既可以解决该问题。

三、安装及配置
  1. 正常通过一键安装脚本安装即可,这里不赘述。只是需要注意为了避免错误安装是不要接入转发的出口IP网卡,只接入用于拨入的网卡。
  2. 编辑/etc/iptables.rules文件,这个时候该规则已经是配置好的,只需要将无关的规则注释掉, 同时修改已有规则,保证nat转发规则正常即可,可以参考我的另一篇文章使用ubuntu18.04配置ocserv服务
  3. 配置ip route规则,设置默认的转发网卡。
  4. 这一步是解决自动掉线的核心,其实也很简单,只需要在l2tp的配置中增加IP绑定即可,编辑/etc/xl2tpd/xl2tpd.conf文件,作如下修改:
[global]
port = 1701
listen-addr=xxx.xxx.xxx.xxx(这里的IP是用于接入的ens33网卡的绑定的IP)
  1. 重启服务或重启机器即可。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值