Puncte:0

Redirecționați traficul de la o interfață la o interfață VPN tun cu iptables

drapel ge

Încerc să obțin ceva ușor, dar se pare că îmi lipsește ceva.

În cutia mea am un client VPN care rulează care a creat un tun0 interfata. Cutia are trafic extern care vine de la eth0.

Aș dori să redirecționez traficul de la eth0 la tun0. Rulez următoarele comenzi:

iptables -A FORWARD -i eth0 -o tun0 -s 192.168.100.0/28 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -m stat --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.100.0/28 -o tun0 -j MASQUERADE

Rețineți că selectez intervalul de IP-uri sursă deoarece vreau să redirecționez doar un anumit interval.

Alergare tcpdump pe eth0 interfață Pot vedea traficul care vine de la o mașină din rază 192.168.100.0/28 dar nu văd traficul intră tun0.

Redirecționarea IP este în mod natural activată.

Nu sunt sigur ce îmi lipsește cu adevărat aici.

Configurarea IP a eth0 este 192.168.10.93/24 in timp ce tun0 este 10.8.8.15/24

â ~ ip r
implicit prin 192.168.10.1 dev eth0 metric 100
10.8.8.0/24 dev tun0 scope link src 10.8.8.15
172.17.0.0/16 dev docker0 scope link src 172.17.0.1
172.30.32.0/23 dev hassio scope link src 172.30.32.1
192.168.10.0/24 dev eth0 scope link src 192.168.10.93 metric 100
drapel ge
Traficul care intră în casetă nu are destinația `192.168.100.0/28` dar are sursa `192.168.100.0/28`. destinația este internetul.
drapel ge
Configurația IP a lui `eth0` este `192.168.10.93/24`, în timp ce `tun0` este `10.8.8.15/24`.
drapel ge
`â ~ ip r implicit prin 192.168.10.1 dev eth0 metric 100 10.8.8.0/24 dev tun0 scope link src 10.8.8.15 172.17.0.0/16 dev docker0 scope link src 172.17.0.1 172.30.32.0/23 dev hassio scope link src 172.30.32.1 192.168.10.0/24 dev eth0 scope link src 192.168.10.93 metric 100 `
drapel ge
sigur. a adăugat modificările necesare
drapel ge
destinația traficului este IP-urile externe generice Internet. practic o mașină generează trafic de Internet care este redirecționat către interfața `eth0` a acestei casete și de la `eth0` trebuie redirecționat către `tun0` și apoi în final către Internet. cel mai important lucru este că traficul pleacă din `tun0` pentru că este un VPN.
drapel in
Vorbești despre redirecționarea de la `eth0` (internet) la `tun0`. Nu pot să-mi dau seama ce vrei de fapt să mergi unde. Puteți da un exemplu mai bun de pachet care nu funcționează. Un pachet care ar trebui să ajungă pe internet ar trebui redirecționat către „eth0”, deoarece acesta este internetul tău.
drapel ge
Practic fiind interfața `tun0` a unui VPN, traficul ar trebui să ajungă pe Internet prin `tun0`, astfel încât va apărea mascat de conexiunea VPN. Practic, în engleză simplă, ceea ce încerc să fac este: tot traficul de intrare către interfața `eth0` cu un IP sursă specific trebuie redirecționat către Internet prin interfața `tun0`, astfel încât va apărea în spatele unei conexiuni VPN.
drapel in
Puteți ajunge la internet și prin `tun0`? Cred că înțelegerea dvs. despre ce este redirecționarea este greșită. Vă rugăm să verificați dacă sunteți sigur care este sursa și destinația în scenariile la care vă gândiți. Dacă aveți trafic cu o destinație de „internet” care vine peste `tun0` și doriți ca acesta să fie redirecționat pe internet, atunci `eth0` ar trebui să facă MASQUERADE, dar asta nu funcționează cu explicația dvs. despre domeniul sursei.
drapel ge
Ok, voi revizui toate presupunerile mele și vă voi anunța.
drapel ge
De asemenea, voi revizui acest https://serverfault.com/questions/571801/tunneling-traffic-from-eth0-to-tun0-openvpn-ububtu-12-04 pentru că este exact ceea ce încerc să obțin. multumesc oricum
drapel ge
dar doar ca sa-ti explic treaba pentru ca cred ca am inteles ce nu ai inteles tu, masina cu interfete `eth0` si `tun0` va trebui sa functioneze ca forwarder. preluați traficul care intră în interfața `eth0` și îl trimiteți pe Internet prin interfața `tun0`.
drapel in
Deci tun0 este acum internet și nu eth0 Care este IP-ul gateway-ului pe tun0?
Puncte:1
drapel in

Deoarece asta în cele din urmă ar putea fi vorba despre a avea trafic de la 192.168.100.0/28 ieși peste tun0 Acest lucru ar putea fi rezolvat prin ceva de genul:

regulă ip adăugați de la 192.168.100.0/28 căutare 10000
IP route add default prin ${tun0gwip} tabelul 10000

De asemenea, păstrați iptables MASQUERADE, care este necesar, cu excepția cazului în care tun0 gw poate ruta înapoi la cealaltă rețea.

drapel ge
Multumesc, o sa incerc sa vad daca merge. Dar întrebarea mea este că pachetele de la eth0 ar trebui trimise către tun0. De ce comanda mea înainte nu funcționează?
drapel in
`iptables` nu este responsabil pentru locul în care este direcționat traficul, aceasta este sarcina `tabelului de rutare`
drapel ge
Nu sunt foarte familiarizat cu comanda `ip rule add`, așa că trebuie să o explorez, dar asta este ceea ce primesc „Adăugarea regulii ip de la 192.168.100.0/28 căutare 10000 ip: argument nevalid „10000” la „ID tabel” `
drapel ge
A trebuit să instalez instrumentul `iproute2`. de asemenea, am găsit exact toate comenzile necesare și `iptables` este necesar la sfârșitul zilei, altfel nu există NATing. https://unix.stackexchange.com/questions/490662/how-to-route-traffic-from-br0-to-tun0-when-tun0-is-not-the-default-route-of-the
drapel ge
Voi vota răspunsul tău @NiKiZe, dar nu este complet corect în cazul meu. De fapt, fără `iptables` nu va funcționa.
drapel in
Aveți deja partea MASQUURADE corectă, așa că nu ați inclus asta. Voi actualiza pentru a menționa și asta.
Puncte:0
drapel ge

Aceasta este combinația exactă de comenzi care a rezolvat problema:

Creați un nou tabel de rute numit vpn sub

â ~ cat /etc/iproute2/rt_tables
#
# de valori rezervate
#
255 local
254 principal
253 implicit
0 nespec
#
# local
#
#1 inr.ruhep
1 vpn

și apoi rulați:

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

iptables -A FORWARD -i eth0 -o tun0 -s 192.168.100.0/28 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

iptables -A INPUT -i tun0 -m stare --state RELATED,STABLISHED -j ACCEPT

ip route add default dev tun0 table vpn
IP route add 192.168.100.0/28 dev eth0 table vpn

regulă ip adăugați de la 192.168.100.0/28 vpn de masă

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.