Målet är att ansluta från en fjärrdator/telefon till mitt Tailscale VPN-nätverk samtidigt som min internetåtkomst går genom en VPN (Nordvpn)… att koppla till båda VPN:erna fungerar inte för mig på mobil och mac
Nätverkslayout - Telefon <> TailscaleLXC <> NordVPN LXC <> Allmän internet
Noteringar:
- Två LXCs på samma nätverk med samma brygga (standardbrygga om du har en mycket enkel pve-uppsättning)
- En för Tailscale = TailLXC
- En för NordVPN = NordLXC
- LXCs är ubuntu 22.04… inte säker på hur kompatibelt detta skript är för andra Linux-versioner
- Jag rekommenderar att ta ögonblicksbilder när du utför kommandon
- Det är bäst att se till att det är en statisk IP (kan göras via lxc men jag föredrar via min router)
- för denna guide… TailLXC = 192.168.1.100 och NordLXC = 192.168.1.200
- Stort tack för det stora arbetet med att lösa detta
- förlåt om guiden är otydlig, första gången jag gör en guide och jag är ny på nätverk
- FÖR PERSONER SOM ÄR BÄTTRE PÅ NÄTVERK, jag skulle älska att veta om det finns sätt att göra det mer säkert/och att dubbelkolla att detta är säkert och krypterat hela vägen
- kommandot att köra publiceras antingen som kodblock eller "---->
kod
"
Installera Tailscale-kontainer
1. Skapa TailLXC som vanligt från proxmox (t.ex. ubu 22.04, pveid=105)
sudo apt update
sudo apt upgrade
2. lägg till följande i lxc-konfigurationen (nano /etc/pve/lxc/105.conf) baserat på Tailscale in LXC containers · Tailscale Docs Notera att du kan behöva göra de andra felsökningsstegen som föreslås i Tailscale on a Proxmox host · Tailscale Docs För mig var det helt enkelt att lägga till följande i lxc-konfigurationsfilen:
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
3. installera tailscale ----> curl -fsSL
https://tailscale.com/install.sh | sh
4. aktivera tailscale-tjänsten (för autostart) ----> sudo systemctl enable tailscaled
5. starta tailscale-tjänsten ----> sudo systemctl start tailscaled
6. logga in på tailscale ----> sudo tailscale login
7. Aktivera IP- vidarebefordran enligt Subnet routers · Tailscale Docs From tailscales guide ovan (Linux, “Aktivera IP- vidarebefordran”). Notera att du kan behöva följa mer av guiden beroende på din Linux-distribution/specifikation
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
7.1 i mitt fall var det också nödvändigt att göra följande
sudo sysctl -w net.ipv4.conf.all.forwarding=1
8. kontrollera att vidarebefordran är aktiverad med följande rader – bör vara lika med 1
sysctl net.ipv4.ip_forward
cat /proc/sys/net/ipv4/ip_forward
8.1 Starta om och kontrollera igen 8. ibland vid omstart återställs den till 0 och om det händer dig också, gör följande 3 steg.
- Skapa och redigera fil ---->
sudo nano /etc/sysctl.conf
- Lägg till följande rader i filen ---->
net.ipv4.ip_forward=1
- kontrollera igen
9. Konfigurera Tailscale för att tillåta trafik att routas genom LXC ----> tailscale up --advertise-exit-node
- du måste gå till tailscale-konsolen och godkänna denna ändring
10. Använd traceroute för att se IP-adresserna din data färdas igenom för att ansluta till en server/plats
Kör ----> traceroute
https://8.8.8.8
det bör visa något som från TailLXC (notera hem/routerIP/defaultIP)
# traceroute till 8.8.8.8 (8.8.8.8), 30 hopp max, 60 byte paket
# 1 home/routerIP 3.803 ms 3.605 ms 3.795 ms
# 2 ... ytterligare hopp
från en extern/fjärrklient (t.ex. macOS) - anslut till TailLXC som exitnode (hitta tailscale-appen på ditt operativsystem och ställ in exitnode till TailLXC) Notera förändringen med att din data nu först går till tailscale-kontainern
# traceroute till 8.8.8.8 (8.8.8.8), 64 hopp max, 40 byte paket
# 1 tailscaleCountainerIP 39.715 ms 16.685 ms 16.852 ms
# 2 home/routerIP 19.194 ms 23.825 ms 16.560 ms
# 3 ... ytterligare hopp
11. Nästa steg är lite knepigt och kan kräva viss arbetsinsats… du försöker egentligen routa LXC-trafik till NordLXC. därför vill du ändra din standardgateway till NordLXC. starkt rekommenderat att ta en snapshot/backup av Proxmox LXC innan du leker med detta eftersom du kan göra något som är svårt att ångra
Mitt ursprungliga IP-route visade detta ----> ip route
# default via 192.168.1.1 dev eth0 proto dhcp src <TailLXC IP> metric 1024
# 192.168.1.0/24 dev eth0 proto kernel scope link src <TailLXC IP> metric 1024
# 192.168.1.1 dev eth0 proto dhcp scope link src <TailLXC IP> metric 1024
# 207.164.244.195 via 192.168.1.1 dev eth0 proto dhcp src <TailLXC IP> metric 1024
11.1 Från detta identifierade jag IP-routingen. Sedan skapade jag en konfigurationsfil för nätplan och redigerade den ---->
sudo nano /etc/netplan/01-netcfg.yaml
11.2 Ange netplan-konfigurationen - jag kopierade och klistrade in mina ip-route-resultat i chatgpt och bad det skapa en netplan-konfig (utan gateway4) och kopierade och klistrade in resultatet från ip route. Sedan lade jag till rutten till min NordLXC
network:
version: 2
ethernets:
eth0:
dhcp4: nej
addresses:
- 192.168.1.100/24 #Tailscale LXC IP
routes:
- to: 0.0.0.0/0
via: 192.168.1.200 #NordLXC IP
metric: 1024
on-link: true
### YTTERLIGARE RUTTER KAN FINNAS HÄR BASERAT PÅ VAD SOM VAR I DINA ORIGINALA IP-RT-RESULTAT
### CHATGPT SKAPADE DEN DELEN FÖR MIG... JAG LADE BODDE IN DEN ÖVERSTÅENDE ROUTEN
nameservers:
adresser:
- 8.8.8.8
- 8.8.4.4
det kan vara bra att leka med ip-rutterna först... genom att göra detta men #OBS - BARA TILLFÄLLIGT.. detta kommer att återställas vid omstart, och detta är helt enkelt en kopia av standardraden ovan med ändrade rutter ---->
sudo ip route change default via <Nord LXCIP> dev eth0 proto dhcp src <Tail LXCIP> metric 1024
12. Tillämpa den nya netplan och starta om ----> sudo netplan apply
13. Kontrollera ip-rutterna efter ----> ip route
-
här bör du se NordLXCIP vara standard
default via dev eth0 proto static metric 1024 onlink
192.168.1.0/24 dev eth0 proto kernel scope link src
207.164.244.195 via 192.168.1.1 dev eth0 proto static metric 1024 onlink
Installera NordVPN-kontainer
1 Skapa NordLXC som vanligt från proxmox (t.ex. ubu 22.04)
sudo apt update
sudo apt upgrade
2 Aktivera IP- vidarebefordran och gör det permanenta --skapa/redigera fil–> sudo nano /etc/sysctl.conf
2.1 Lägg till följande rader i filen ----> net.ipv4.ip_forward=1
3. Installera och anslut NORDVPN
sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh)
nordvpn login --token <TOKEN>
nordvpn connect
# Kontrollera anslutningen
nordvpn status
# Gör så att anslutningen är kvar vid omstart
nordvpn set autoconnect on
# Aktivera kill switch
nordvpn set killswitch on
# Aktivera CyberSec-funktionen (blockerar annonser och malware), obfuskera, notifiera om du vill (jag gör inte det)
# nordvpn set cybersec on
# nordvpn set obfuscate on
# nordvpn set notify on
4. kör ip addr och få reda på gränssnitten… i mitt fall var det “eth0” och “nordlynx” ----> ip addr
5. redigera iptables för att tillåta vidarebefordran med följande kommandon
sudo iptables -t nat -A POSTROUTING -o nordlynx -j MASQUERADE
sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o nordlynx -j ACCEPT
sudo iptables -A FORWARD -i nordlynx -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables-save > /etc/iptables/rules.v4
6. gör reglerna permanenta —> sudo apt-get install iptables-persistent
Under installationen frågar den om du vill spara nuvarande regler - välj ‘Yes’.
not - om du gör ändringar i framtiden och vill spara, gör —> sudo netfilter-persistent save
7. Kontrollera reglerna
sudo iptables -L -v -n
sudo iptables -t nat -L -v -n
8. Tillåt TailLXC att komma åt NordLXC.. NOTERA - /32 är för enskild IP för säkerhets skull, bättre än att tillåta hela subnätet access till nordLXC, kontrollera Trace Route (traceroute 8.8.8.8)
nordvpn allowlist add subnet <TailLXC IP>/32
Kontrollera Trace Route —> “traceroute 8.8.8.8”
Notering - detta bör nu visa NordLXC IP i hopp som visas nedan.
Exempel. TailLXC till NordLXC
# traceroute till 8.8.8.8 (8.8.8.8), 30 hopp max, 60 byte paket
# 1 NordLXCIP 0.393 ms 0.332 ms 0.308 ms
# 2 ... Ytterligare hopp
Exempel. Fjärrdator ansluten till TailLXC via exitnode
# traceroute till 8.8.8.8 (8.8.8.8), 64 hopp max, 40 byte paket
# 1 TailLXCIP 39.016 ms 18.384 ms 23.738 ms
# 2 NordLXCIP 24.389 ms 24.231 ms 23.300 ms
# 3 ... Ytterligare hopp
Ändring 1: Klargör guide och fixa formateringen