strongsan grundlegende Verwendung


0x01-Installation

====> CentOS

RPM - Installation Download: HTTPS: //pkgs.org/download/strongswan
wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/s/strongswan-5.7.2-1.el7. x86_64.rpm
RPM -ivh strongswan -. * RPM

oder

-y installiert EPEL-Veröffentlichung yum
yum -y OpenSSL-devel installieren strongSwan
relevante Plug-yum sucht Schwan findet
andere Plug-In ohne, vor allem zu installieren strongSwan-libipsec, scheinbar höher als der Kernel 2.6 gibt es einen Konflikt, zu dem Server führen konnte nicht
libipsec für die Erstellung von ipsec0 Karte und UDP - Kapselung, die hohe Version kernel-netlink

====> Ubuntu

apt -y install openssl libssl-dev strongswan libstrongswan

0x02-Server

====> ipsec.conf

# EAP (Extensible Authentication Portocol) Extensible Authentication Protocol
# IKE / ESP - Authentifizierung Schlüsselaustauschprotokolle und Datenverschlüsselung
# Remote - Server rechts
Seite # links ist ein lokales Lokal

Setup - Konfiguration
charondebug = "cfg 2" # log Vorschläge
UniqueIDs = nie # mehrere Clients an denselben Benutzer verbunden

conn% Standard
IKE = aes128-sha256-ecp256, aes256-sha384-ecp384, aes128-sha256-modp2048, aes128-SHA1-modp2048, aes256-sha384-modp4096, aes256-sha256-modp4096, aes256-SHA1-modp4096, aes128-sha256 -modp1536, aes128-SHA1-modp1536, aes256-sha384-modp2048, aes256-sha256-modp2048, aes256-SHA1-modp2048, aes128-sha256-modp1024, aes128-SHA1-modp1024, aes256-sha384-modp1536, aes256-sha256-modp1536 , aes256-sHA1-modp1536, aes256-SHA384-modp1024, aes256-sha256-modp1024, aes256-sHA1-modp1024!
esp = aes128gcm16-ecp256, aes256gcm16-ecp384, aes128-sha256-ecp256, aes256-sha384-ecp384, aes128-sha256-modp2048, aes128-SHA1-modp2048, aes256-sha384-modp4096, aes256-sha256-modp4096, aes256-sha1- modp4096, aes128-sha256-modp1536, aes128-SHA1-modp1536, aes256-sha384-modp2048, aes256-sha256-modp2048, aes256-SHA1-modp2048, aes128-sha256-modp1024, aes128-SHA1-modp1024, aes256-sha384-modp1536, aes256-sha256-modp1536, aes256-SHA1-modp1536, aes256-sha384-modp1024, aes256-sha256-modp1024, aes256-SHA1-modp1024, aes128gcm16, aes256gcm16, aes128-sha256, aes128-SHA1, aes256-SHA384 aes256-sha256, aes256-sHA1!
keyingtries = 1

conn myVPN
keyexchange = IKEv2
# ike = aes256-AES192-aes128-SHA384-sha256-SHA1-modp3072-modp2048-modp1536-modp1024!
# Esp = aes256-AES192-aes128-SHA384-sha256-SHA1!
Erneuerungs - Schlüssel = keine
Kompresse = no

links =% any
# leftid =% domain.ltd
# leftfirewall = no
leftupdown = / etc / strongswan / strongswan.d / proxyndp.updown
leftsubnet = 0.0.0.0 / 0, :: / 0
leftauth = pubkey
leftsendcert = immer
leftcert = server .cert.pem

rechts =% any
# rightid =% Hostname
rightsourceip = 10.10.2.1 / 24,2001: db8 :: / 96
rightdns = 8.8.8.8,8.8.4.4,2001: 4860: 4860 :: 8888,2001: 4860: 4860 :: 8844
rightsendcert = nie
rightauth = eap-mschapv2

# Tfc =% mtu
eap_identity =% any
dpdaction = klar
dpddelay = 2400s
Fragmentierung = yes
auto = add

====> ipsec.secrets

# Ipsec.conf hängt von einem von zwei Linien von leftauth
: RSA <private_key.file> "über privates Verschlüsselungskennwort"
<Benutzername>: EAP "password"

====> Firewall- und Routing-Weiterleitung

iptables -t nat -A POSTROUTING- es {} IPv4 / 24 -o eth0 -j MASQUERADE
ip6tables -t nat -A POSTROUTING- es {IPv6} / 112 -o eth0 -j MASQUERADE

Und fügen Sie die folgenden drei Zeilen in /etc/sysctl.conf

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.proxy_ndp = 1

Führen Sie sysctl -p

====> Start / Stopp

ipsec / strongswan Neustart


0x03-Client

====> ipsec.conf

# Ipsec.conf - strongSwan IPsec - Konfigurationsdatei
# Grundkonfiguration

config - Setup
# strictcrlpolicy = yes
UniqueIDs = nie

# Add - Verbindungen hier.
conn Client
keyexchange = IKEv2
# ike = aes256-sha256-modp2048,3des-SHA1-modp2048, aes256-SHA1-modp2048!
# Esp = aes256-sha256,3des-SHA1, aes256-SHA1!
rechts = pub.6tu.me
rightid =% pub.6tu.me
rightsubnet = 0.0.0.0 / 0, :: / 0
rightauth = pubkey

leftsourceip =% config% config6
# leftauth = UAP-mschapv2
leftauth = UAP
eap_identity = user
type = tunnel
auto = add

# Configure LAN Zugang IPsec - Tunnel geht nicht
conn ausnehmen
rechts = 127.0.0.1
leftsubnet = 192.168.0.0 / 24-
rightsubnet = 192.168.0.0 / 24-
des type = Pass - Through -
Auto = Route

====> ipsec.secrets

# Ipsec.conf hängt von einem von zwei Linien von leftauth
: RSA <private_key.file> "über privates Verschlüsselungskennwort"
<Benutzername>: EAP "password"

====> Firewall- und Routing-Weiterleitung

Mit IP -6 Route oder der aktuellen Routing - IP - Route anzuzeigen
IP - Route oder ip Route anzeigen Tabelle 220 Befehlen Ansicht

ip Regel hinzuzufügen von IPv4 {} / 24 Tabelle 1 Haupt PRIO
ip -6 Regel hinzufügen von IPv6 {} / 64 Tabelle 1 Haupt PRIO

====> Start / Stopp

# Systemctl Neustart Netzwerk
ipsec / strongswan Neustart
ipsec / strongswan up / down ccc

0x04 Andere Matters

====> Certificate Authority (nicht zwingend)

yum / apt -y ca-Zertifikate installieren

cp ca.pem / etc / pki / ca-trust / Quelle / Anker /
cp ca.pem / etc / pki / tls / certs /

Update-ca-Trust-Extrakt

====> Referenzen

https://oogami.name/1467/
https://wiki.strongswan.org/projects/strongswan/wiki/IKEv2ClientConfig
https://libreswan.org/wiki/Subnet_to_subnet_VPN
https://wiki.strongswan.org/projects/ strongswan / wiki / VirtualIP
Linux开源VPN之strongSwan
https://www.jianshu.com/p/ce6c545efd8a
https://www.cnblogs.com/Su-per-man/p/9952292.html
https: // blog. csdn.net/puppylpg/article/details/64918562

Hinweis 0x05

====> Konfigurationsoptionen

# Leftauth = pubkey oder UAP, abhängig von dem ausgewählten Gateway - Konfiguration
# leftcert = Zertifikat, nur dann , wenn pubkey = leftauth (EG peerCert.der)
# eap_identity = Benutzername, nur dann , wenn EAP = leftauth (zB Verwendung der Peer)
# = 17/1701 leftprotoport Notwendigkeit Kommentar
# rightprotoport = 17 /% jeder Notwendigkeit Kommentar
des type = Pass - Through
des type = Transport
Auto = Route

Für immer% = keyingtries
dpdaction = Neustart
closeaction = Neustart
====> Fehler Debugging

Nach dem Start der folgenden Fehler führt, wird der Kernel nicht unterstützt IKE, Tunnel. Versuchen Sie modprobe af_key

kein netkey IPsec - Stack erkannt
kein KLIPS IPsec - Stack erkannt
keinen bekannten IPsec - Stack erkannt und ignoriert!

proxyndp.updown Skript, in dem IPv6-Netzwerk verwendet wird, ist nicht gültig

#! / bin / bash 
IFACE = eth0 # configure mich 
ADDR = $ {PLUTO_PEER_CLIENT% / * } 
Fall $ PLUTO_VERB in 
        up-client-v6) 
                echo "für die Proxy - NDP Hinzufügen von $ ADDR über $ IFACE" 
                ip -6 wiehern Proxy $ hinzufügen ADDR dev $ IFACE 
                ;; 
        Down-client-v6) 
                echo "Entfernen Proxy NDP für $ ADDR über $ IFACE" 
                ip -6 wiehern löschen Proxy $ ADDR dev $ IFACE 
                ;; 
        up-Client) 
                echo "Proxy - ARP für $ ADDR über $ IFACE Hinzufügen" 
                ip wiehern hinzufügen Proxy $ ADDR dev $ IFACE 
                ;; 
        Down-Client)
                echo "Proxy - ARP für $ ADDR über $ IFACE entfernen" 
                ip wiehern löschen Proxy $ ADDR dev $ IFACE 
                ;; 
esac 2> & 1 | Logger -t proxyndp.updown

 

 

Verschiedene Funktionsmodule beschrieben 0x06

Charon: Sieht aus wie Management IKE (Internet Key Exchange) Daemon

strongSwan IPsec Client
charon-cmd charon-systemd

strongSwan IPsec - Client, PKI - Zertifikat Befehl zu digitalen Werkzeugen zu machen, SCEP (Simple Certificate Enrollment Protocol) -Client
strongswan-pki-scepclient strongswan

strongSwan IPsec - Client, swanctl Befehl
strongswan-swanctl

IPsec VPN Haupt
strongswan

strongSwan guard Starter und Konfigurationsdatei Parser
strongswan-Starter

IKE (Internet Key Exchange) Daemon
strongswan-charon strongswan-libcharon

strongSwan charon Bibliothek
libcharon-Standard-Plugins libcharon-extra-Plugins

strongSwan praktische und Verschlüsselungsbibliothek
libstrongswan libstrongswan-Standard-Plugins libstrongswan- Extra-Plugins

Netzwerk - Management Framework Stecker / Steck kann mit Networkinteragieren
Networkmanager -nm-für strongswan für strongswan

TNC (Trusted Network Connect) Trusted Network Connect - Protokoll
das IF-MAP (für die Metadaten - Access Point Interface)
der PDP (Packet Protoco die Data)

base / Client / Server - Dateien
strongSwan-tnc-Basis strongswan-tnc-Client strongswan-tnc-Server

TNC Stecker
strongswan-TNC-ifmap strongswan-tnc -pdp

Ich denke du magst

Origin www.cnblogs.com/yisuo/p/12544731.html
Empfohlen
Rangfolge