Puncte:0

Redirecționați pachetele de difuzare către dynamic / wildcard

drapel cn

Am configurat un serviciu ppp dinamic pe o mașină Linux unde clienții se vor conecta și vor obține un IP privat.

Regulile pe care le-am configurat în iptables sunt în prezent:


sysctl -w net.ipv4.ip_forward=1

sysctl -w net.ipv4.ip_dynaddr=1

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

iptables -A INTRARE -i ppp+ -j ACCEPT

iptables -A FORWARD -i ppp+ -j ACCEPT

iptables -I PREROUTING -t nat -i ppp+ -p udp -s 10.0.10.3 -j DNAT --to 10.0.10.2

iptables -I PREROUTING -t nat -i ppp+ -p udp -s 10.0.10.2 -j DNAT --to 10.0.10.3


Funcționalitatea mea este ca oricine se conectează la interfața ppp să moștenească IP-ul gazdei și să aibă acces la internet și să poată comunica cu colegii din aceeași rețea. Succes!

Cu excepția pachetelor de difuzare. Orice trimis la 255.255.255.255 sau altele asemenea nu ajunge la nimeni. Pentru a atenua, am codificat regulile în îndrăzneţ de sus, însă aceasta nu este o soluție dinamică și se adună în funcție de numărul de clienți conectați.

Întrebarea mea este, ce pot face pentru a avea o soluție iptables „wildcard” la asta? Mai exact, am nevoie în mod ideal de o soluție cu o singură linie care să redirecționeze orice pachet udp de la interfețele ppp la alte interfețe ppp, fără a interfera cu celelalte reguli sau pachete tcp.

Multumesc anticipat.

Editați | × M-am cedat și am încercat să codific regulile pentru 100 de IP-uri pentru ca cel puțin să funcționeze normal.Chiar și în cel mai scurt format pe care l-am putut găsi, am întâlnit problema că numai primul regula va intra în vigoare pentru un anumit pachet, ceea ce înseamnă că nu pot crea mai multe reguli pentru același pachet și nu pot crea o regulă catch-all pentru un singur IP pentru întreaga rețea, deoarece va trimite pachetul în cauză la sursă ca bine, ceea ce duce la un eșec similar:

Captură de ecran a regulilor

Editare 2 M-am pliat deoarece niciuna dintre soluțiile pe care le-am identificat până acum pentru iptables nu este scalabilă sau aplicabilă în scenariul meu, din păcate. Voi păstra această întrebare deschisă în cazul în care cineva are vreo modalitate de a realiza acest lucru într-una sau câteva rânduri în iptables sau altfel.

Între timp, nu ezitați să examinați următoarele documente relevante pentru cazul meu specific, dacă sunteți curios sau dacă vă aflați în aceeași categorie:

Redirecționarea pachetelor Cisco Broadcast

Retransmisie UDP

Tutorial NAT

Documentația DNAT IP Range

În cele din urmă, iată soluția pe care am implementat-o ​​în prezent: https://github.com/udp-redux/udp-broadcast-relay-redux

drapel cn
Actualizare rapidă: am încercat această comandă ca alternativă, fără succes: iptables -A PREROUTING -t nat -i ppp+ -p udp -s 10.0.10.0/24 -j DNAT --to 10.0.10.2-10.0.10.254

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.