kravietz.wireguard_vpn
wireguard_vpn
Skonfiguruj usługę VPN Wireguard od klienta do serwera i przygotuj pliki konfiguracyjne dla klientów.
Opis
Rola konfiguruje usługę VPN opartą na Wireguard na systemie Linux z następującymi wyróżniającymi cechami:
- Cała konfiguracja sieci jest zarządzana za pomocą systemd-networkd
- IPv4 w tunelu z użyciem adresacji zgodnej z RFC 1918 i NAT
- IPv6 w tunelu z użyciem w pełni routowalnej podsieci i proxy NDP
- Obsługa kluczy pre-shared Wireguard
- Generuje pliki .confdla klientów do użycia zwg-quick(8)
- Obsługiwane są wszystkie opcje konfiguracyjne wg-quick(8)
Zmienne Roli
vpn_interface: wg1
# wygeneruj za pomocą `wg genkey` ***chronić za pomocą ansible-vault***
# vpn_private_key: "iP/lnL/zhicPMnAphlT6qAciKusTmR2X5utTAo7u5Ug="  # WYMAGANE
# wygeneruj za pomocą `wg pubkey` z powyższego
# vpn_public_key: "OBGsZZxxX0jcehmFJc0L6v7FX3PMnVDFgdgpjJFU0k4="   # WYMAGANE
## Port nasłuchujący UDP w Internecie
# vpn_listen_port: 1194  # WYMAGANE
## Adresy w wewnętrznym tunelu VPN
# vpn_address4: "192.168.2.252/24"            # przynajmniej jeden jest WYMAGANY      
# vpn_address6: '2a05:1111:0:3:8000::252/65'  # przynajmniej jeden jest WYMAGANY
## wymagane do ustawienia wpisów NDP dla klientów VPN IPv6
# vpn_ndp_config: /etc/systemd/network/eth0.network  # OPCJONALNE
## Rozdzielacze DNS, które będą ustawione u klientów do użycia z VPN
# vpn_dns_resolvers: ["9.9.9.9", "2620:fe::fe"]  # OPCJONALNE tablica
# umożliwia generowanie plików .conf dla narzędzia wg-quick klientów
# vpn_clients_dir: /root/wireguard  # OPCJONALNE
# vpn_clients:                                # OPCJONALNA tablica
#   - name: client1                           # WYMAGANE
#     address4: 192.168.2.110/32              # przynajmniej jeden z address4, address6 jest WYMAGANY
#     address6: "2a05:1111:0:3:8000::110/80"  # przynajmniej jeden z address4, address6 jest WYMAGANY
#     # tylko potrzebne, jeśli wygenerowane pliki .config mają już zawierać klucz prywatny
#     # w przeciwnym razie będą zawierać placeholder
#     # wygeneruj za pomocą `wg genkey` ***chronić za pomocą ansible-vault***
#     # private_key: "+Noalz2HL9+nYFQpplZF2dYMmc7+MaXGuxMgc/QBbXU="  # OPCJONALNE
#     # wygeneruj za pomocą `wg pubkey` z powyższego
#     public_key: "RfDKFurwFo/ytXd9Ko5oEy7I7H4hjNBiT1bc1t+V4Wc="              # WYMAGANE
#     # trasa tunelu do ustawienia po stronie klienta
#     # allowed_ips: ["192.168.2.1/32"]         # OPCJONALNE
#     # wygeneruj za pomocą `wg genpsk` ***chronić za pomocą ansible-vault***
#     # psk: "151ODHNbvmiK/ox+2ndnZbVcfrIMRJjFjHXlb7o3ZeI="  # OPCJONALNE
#     # mtu, table, preup, postdown - zgodnie z wg-quick(8)
Ostrzeżenie: zawsze używaj ansible-vault, aby chronić klucze prywatne i pre-shared tajemnice w swoich plikach zmiennych.
Przykład Playbooka
- hosts: vpn
  roles:
    - role: kravietz.wireguard_vpn
      vpn_private_key: "wIfnNpua6YlD4XzVGUvOCVknCo1LzAF6iGkp7Tho43o="
      vpn_public_key: "+RHdC7oc8O/dojCOMf7CtYBZc5pA2DZPiE4dNRHHhlw="
      vpn_listen_port: 1194
      vpn_address4: "192.168.1.1/24"
      vpn_address6: '2a05:1111:0:3:8000::1/65'
      vpn_clients_dir: /root/wireguard
      vpn_clients:
        - name: client1
          address4: 192.168.1.100/32
          address6: "2a05:1111:0:3:8000::100/128"
          private_key: "iJgcqx21xGETtzFIIdKfD/LvMqswJ2LWUiFPKUBLenw="
          public_key: "T4QbCHfGKLYFdmFeXVfDHP5AYpQ2AZapHIw+ZiCDIHs="
Licencja
GPLv3
Informacje o autorze
Paweł Krawczyk https://krvtz.net/
O projekcie
 Configure a IPv4/IPv6 Wireguard-based VPN service using `systemd-networkd` and generate client config files.
Zainstaluj
 ansible-galaxy install kravietz.wireguard_vpnLicencja
 
            Unknown
          
Pobrania
 
            7.8k
          
Właściciel
 Information security, DevOps and DevSecOps professional from Poland living in the UK
