Puncte:0

Cum se marchează și se separă conexiunile?

drapel us

Am un issabel Linux (bazat pe Centos 7) cu 3 ethernetși vreau acest scenariu:

eth0 cu IP 172.16.3.30/16 ----gw(172.16.0.1)----> (Vreau să folosesc ca gateway implicit)

eth1 cu IP 10.1.5.102/30 -----gw(10.1.5.101)----> (marcați conexiunile la 10.10.10.10:5160 pentru trimitere prin 10.1.5.101 cu propriul src(10.1.5.102))

eth2 cu IP 10.1.5.106/30 -----gw(10.1.5.105)----> (marcați conexiunile la 10.10.10.10:5161 pentru trimitere prin 10.1.5.101 cu propriul src(10.1.5.106))

atenție: există aceeași adresă de destinație! (10.10.10.10 dar port diferit)

Folosesc aceste coduri:

iptables -A OUTPUT -t mangle -p udp -d 10.10.10.10/32 --dport 5160 -j MARK --set-mark 1
iptables -A OUTPUT -t mangle -p udp -d 10.10.10.10/32 --dport 5161 -j MARK --set-mark 2
echo 100 sip102 >> /etc/iproute2/rt_tables
echo 101 sip106 >> /etc/iproute2/rt_tables
ip route add default dev eth1 table sip102
ip route add default dev eth2 table sip106
regulă ip adăugați din toate tabelele fwmark 1 sip102
regulă ip adăugați din toate tabelele fwmark 2 sip106

Dar trunchiurile SIP nu pot fi conectate. (Primele două rânduri am fost schimbate în -A PREROUTING, dar nu au fost efectuate)

Când încerc să testez ruta tabelului fără a marca cu asta:

regulă ip se adaugă la tabelul 10.10.10.10 sip102

Văd că un trunchi SIP este conectat (10.1.5.102 > 10.10.10.10:5160 Conectat)

drapel in
De ce vrei marca? în schimb, puteți folosi `ip rule` pentru a face toate acestea cu sursa, ar trebui să adăugați și alte rute la fiecare dintre tabele. utilizați tcpdump sau instrumente similare pentru a vedea ce se întâmplă, în special verificați dacă traficul se întoarce și asigurați-vă că merge înapoi în modul corect.
erfan mehralizadeh avatar
drapel us
Pentru că există un singur dst. Adresa cu porturi diferite și singurul mod de a separa și gestiona conexiunea este marcarea, este posibil să faceți acest lucru cu regula ip?
drapel in
Rău, am ratat partea de port, văzând multe (alte) întrebări în care iptables nu este necesar.rutele tale mai au nevoie de gw, cu excepția cazului în care destinația este pe link și din nou tcpdump și încearcă să urmărești traficul și răspunsurile.
erfan mehralizadeh avatar
drapel us
nu pot folosi tcpdump pentru că este UDP (SIP)
drapel in
Nu sunt sigur ce vrei să spui, tcpdump arată UDP, dar nu ezitați să utilizați orice instrument de captare a pachetelor cu care vă simțiți confortabil, wireshark dacă vă plac interfețele de utilizator
Martin avatar
drapel kz
Aș folosi rutarea bazată pe sursă aici. În opinia mea, cea mai bună abordare, pentru că așa nu trebuie să te încurci deloc cu iptables... https://blog.scottlowe.org/2013/05/29/a-quick-introduction-to-linux- rutarea politicii/

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.