Debian 10 上基于 IPSec 的 L2TP

Debian 10 上基于 IPSec 的 L2TP

我的 Debian 10 机器有一个 Wifi 接口,wlx08beac0a6c1d为不支持 WPA 的旧硬件运行 WEP AP。

我的主网络是192.168.1.0/24,该接口配置为192.168.2.1

对于初学者来说,该接口仅限于一个 MAC,并且仅允许该网络上的 DHCP

iptables -A INPUT -i wlx08beac0a6c1d -m mac ! --mac-source 00:30:65:05:9F:4D -j DROP
iptables -A INPUT -i wlx08beac0a6c1d -p udp --dport 67:68 --sport 67:68 -j ACCEPT
iptables -A INPUT -i wlx08beac0a6c1d -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i wlx08beac0a6c1d -j DROP

(MAC 检查也存在hostapd.conf——当然,它同样是无效的安全措施(尽管它在什罗普郡可能相当有效)。)

该设备(声称)支持 IPSec 上的 L2TP。我想,通过为此打开另一个端口,我可以让这台旧机器通过到该端口的隧道加入我的网络的其余部分,并且一旦连接,旧机器就会看起来就像在我的网络上一样。

是这样吗?还是我搞错了方向?现在在 WEP 网络上安全吗?

看起来需要的包是strongswanxl2tpd

看起来 IPSec 将加密 WEP 网络上的流量,并且我需要打开更多端口以允许协商和启动加密?

那么看起来 L2TP 将建立一个连接(PPP 连接)到 Debian 上的另一个端口,并通过它路由所有流量?那么旧机器会为此 PPP 连接获得第二个 IP 地址吗?它将如何出现在 Debian 中(并且可以在我的网络的其余部分和互联网之间路由)?

所以:首先是strongswan...

# apt-get install strongswan

现在我真的不明白该怎么办。我已经按照这里所说的做了 https://www.digitalocean.com/community/tutorials/how-to-set-up-an-ikev2-vpn-server-with-strongswan-on-ubuntu-18-04-2 并最终得到这个ipsec.conf

config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no

conn wep-vpn
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes
    dpdaction=clear
    dpddelay=300s
    rekey=no
    left=%any
    leftid=192.168.2.31
    leftcert=server-cert.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=192.168.2.0/24
    rightdns=192.168.2.31
    rightsendcert=never
    eap_identity=%identity

我觉得左边如果你将其解释为是正确的机器,但不确定正确的这大概是一些其他事物?

然后它继续做一些叫做超细纤维束但我正在使用iptables.我想我需要

iptables -A INPUT -i wlx08beac0a6c1d -p udp --dport 500 -j ACCEPT
iptables -A INPUT -i wlx08beac0a6c1d -p udp --dport 4500 -j ACCEPT

允许连接到 IPsec。

那么技巧的下一部分是xl2tpd......

# apt-get install xl2tpd

/etc/xl2tpd/xl2tpd.conf

[global]
ipsec saref = yes
access control = no

[lns default]
ip range = 192.168.3.100-192.168.3.254
local ip = 192.168.3.1
refuse chap = yes
refuse pap = yes
require authentication = yes
pppoptfile = /etc/ppp/xl2tpd-options
length bit = yes

/etc/ppp/xl2tpd-options

require-mschap-v2
ms-dns 192.168.3.1

添加/etc/ppp/chap-secrets

iptables -A INPUT -i wlx08beac0a6c1d -p udp --dport 1701 -j ACCEPT

显然,这是行不通的。

答案1

/etc/ipsec.conf

config setup

conn wep-ap
        type=transport
        authby=secret
        pfs=no
        rekey=no
        keyingtries=1
        left=%any
        leftid=%any
        right=%any
        auto=add
        esp=aes128-sha1-modp1536
        ike=aes128-sha1-modp1536
        include /var/lib/strongswan/ipsec.conf.inc

esp问题:你如何计算出和 的值ike是什么?它们的格式与ipsec.conf出现的格式不同/var/log/syslog——非常无益。

/etc/strongswan.conf

Charon { 插件 { eap_dynamic { 首选 = eap-mschapv2, eap-tls } } }

/etc/ipsec.secrets

%any %any : PSK "password"

/etc/ppp/chap-secrets

laptop  *       password *

/etc/ppp/options.xl2tpd

noccp
auth
mtu 1410
mru 1410
nodefaultroute
proxyarp
silent
debug
ms-dns 192.168.3.31

/etc/xl2tpd/xl2tpd.conf

[global]                                                                ; Global parameters:
port = 1701                                                     ; * Bind to port 1701
debug avp = yes
debug network = yes
debug packet = yes
debug state = yes
debug tunnel = yes
auth file = /etc/xl2tpc/l2tp-secrets
access control = no
[lns default]                                                   ; Our fallthrough LNS definition
ip range = 192.168.3.100-192.168.3.254                          ; * But this one is okay
local ip = 192.168.3.31                         ; * Our local IP to use
name = mini31                                           ; * Report this as our hostname
pppoptfile = /etc/ppp/options.xl2tpd
ppp debug = yes
require authentication = yes
require chap = yes
refuse pap = yes

然而这仍然行不通。您可以看到/var/log/syslogIPSec 已连接,但 L2TP 失败并提示

...
xl2tpd[27668]: network_thread: select timeout with max retries: 5 for tunnel: 28160
xl2tpd[27668]: Maximum retries exceeded for tunnel 28160.  Closing.
xl2tpd[27668]: Connection 4 closed to 192.168.1.11, port 1701 (Timeout)
...

答案2

刚刚在 Raspberry Pi 上重新安装后重现,并且成功了!

我最终发现,在 Raspberry 上有很多文件,/etc/strongswan.d/charon但在 Debian 上没有。将这些文件从 Raspberry 复制到 Debian 就可以正常工作了!

相关内容