Am mai multe servere Wireguard găzduite pe serverele Ubuntu VPS. Există configurații de egali pe fiecare server VPN. Am serverele configurate în configurație „mesh” și toți sunt capabili să pună ping unul pe celălalt direct. Serverele au redirecționarea ipv4 activată.Mă pot conecta la fiecare server ca peer și am conexiunea mea la internet direcționată prin acel server.
Aș dori să redirecționez unii colegi prin mai multe servere Wireguard (multi-hop), în timp ce lăsând unii colegi să se conecteze la internet prin primul salt Wireguard. În cele din urmă, intenționez să controlez acest lucru dinamic cu o aplicație nod care execută regulile iptables relevante după cum este necesar (sau oricare ar fi soluția)
De exemplu:
Peer 1 > Server 1 > Server 2 > Internet
Peer 2 > Server 1 > Internet
Peer 3 > Server 3 > Internet
Peer 4 > Server 2 > Server 1 > Internet
Ar fi posibil acest lucru cu regulile iptables? Am petrecut câteva zile citind postări similare și încercând lucruri. Cel mai aproape am venit este setarea următoarelor pe Server1:
iptables -t nat -A PREROUTING -s 10.42.1.4(Peer1) -j DNAT --to-destination 10.42.1.2(Server2)
iptables -t nat -D POSTROUTING -o wg0 -j MASQUERADE
Folosind tcpdump -n -v -i wg0
Văd că pachetele sunt transmise de la Server1 la Server2, dar se pare că regula MAQUERADE modifică IP-ul de destinație? Am incercat sa adaug iptables -t nat -A POSTROUTING -d 10.42.1.2 -j SNAT --to-source 10.42.1.4
de asemenea.
Diagrama configurației