Debian 10의 IPSec를 통한 L2TP

Debian 10의 IPSec를 통한 L2TP

wlx08beac0a6c1d내 Debian 10 컴퓨터에는 WPA를 지원하지 않는 이전 하드웨어용 WEP AP를 실행하는 Wi-Fi 인터페이스가 있습니다 .

내 기본 네트워크는 이고 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. 물론 비효율적인 보안 조치이기도 합니다(Shropshire에서는 매우 효과적일 수 있지만).)

장치는 IPSec을 통한 L2TP를 지원한다고 주장합니다. 나는 이를 위해 다른 포트를 열면 이 오래된 컴퓨터가 해당 포트에 대한 터널을 통해 내 네트워크의 나머지 부분에 연결되도록 할 수 있다고 생각했습니다. 일단 연결되면 기존 컴퓨터가 내 네트워크에 있는 것처럼 보일 것입니다.

그렇습니까? 아니면 내가 잘못된 방향으로 가고 있는 걸까? 이제 WEP 네트워크에서는 안전합니까?

필수 패키지는 strongswanxl2tpd?

IPSec가 WEP 네트워크의 트래픽을 암호화할 것 같습니다. 협상을 허용하고 암호화를 활성화하려면 더 많은 포트를 열어야 합니까?

그러면 L2TP가 데비안의 다른 포트에 연결(PPP 연결)을 설정하고 모든 트래픽을 이를 통해 라우팅하는 것처럼 보입니까? 그러면 이전 시스템이 이 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

espike질문: 합계의 가치가 무엇인지 어떻게 알 수 있나요 ? 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

그러나 이것은 여전히 ​​작동하지 않습니다. IPSec이 연결된 것을 볼 수 있지만 /var/log/syslogL2TP는 실패합니다.

...
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/charonDebian에는 없다는 것입니다. 이 파일을 Raspberry에서 Debian으로 복사하면 작동합니다!

관련 정보