Puncte:0

Configurarea mai multor conexiuni Ethernet într-un server Linux

drapel cn

Am următoarea topologie

                                                                                        .âââââââââââââââ.        
   âââââââââââââââ†âââ _.â' `ââ.    
   â â ,â' 'â. 
   â Router ISP â IP dinamic; :
   cu NAT âââââââââââââââ†âââââââââââââââ†âââââââââ: Internet ;
   â â â² â± 
   âââââââââââ¬âââââââ¬ââââââ âââ 'â. ,â'  
             â `ââ. _.â'     
             â 10.0.0.1 `âââââââ¬âââââââ¬ââââââ'         
             â â                
      .âââââââ´ââââ. .ââââââ´âââââ.          
   ,â' 'â. âââââââââââââââ†ââââââââââ ,â' 'â.       
 ,' `. â â ,' `.     
; LAN: DHCP static... IP static; Rețea publică:    
: ;âââââââââââââ⤠eth1 â Serverul meu â eth0 âââââââââââââ: ;    
 â² 10.0.0.0/24 â± 10.0.0.5 ââââ¬ââââ âââ⬠ââââ 1.2.3.5 â² 1.2.3.4/20 â±     
  `. ,' â Debian Buster â mydomain.com `. ,'      
    'â. ,â' â â 'â. ,â'        
       `âââââââââ' âââââââ âââââââââââââââ†âââ `âââââââââ'

Din motive istorice, ISP-ul meu folosește o rețea separată pentru a furniza IP-uri statice. Aceasta înseamnă că trebuie să-mi conectez serverul direct la o conexiune specială care este direct expusă la internet (în diagramă aceasta este eth0 cu IP 1.2.3.5).

Cu toate acestea, folosesc același server ca NAS în casa mea și, deoarece aceasta este o rețea separată, îl conectez folosind o interfață diferită. et1 și creați o alocare DHCP statică cu adresa 10.0.0.5. În acest fel, alte dispozitive din rețeaua de domiciliu îl pot găsi și accesa suporturile de rețea.

În cele din urmă, am o înregistrare DNS cu domeniul meu, în acest exemplu mydomain.com, arătând spre 1.2.3.5.

Mă confrunt cu câteva probleme:

  • Când încerc să accesez mydomain.com din LAN-ul meu nu merge.Cred că acest lucru se datorează faptului că serverul primește pachetul de la interfață eth0 dar apoi răspunzând prin et1 iar celălalt dispozitiv renunță la răspuns, deoarece este de la un alt IP.
  • La pornire, serverul ar trebui să aleagă 1.2.3.4 deoarece rețeaua pentru a direcționa traficul de internet către, astfel încât accesul extern funcționează mydomain.com. Cu toate acestea, din moment ce ambele eth0 și et1 au acces la internet prin gateway-urile respective, uneori pornește și alege 10.0.0.1 ca gateway implicit și apoi accesare mydomain.com nu merge. Cred că aceasta este o problemă similară cu traficul care intră eth0 dar plecând prin et1.

Deși sunt familiarizat cu chestiile de bază de rețea, nu am experiență în a avea un server conectat la mai multe rețele simultan ca acesta. În mod ideal, aș dori să configurez serverul astfel încât:

  • Tot traficul de internet iese prin eth0
  • Tot traficul de la intrare eth0 se răspunde prin eth0
  • Tot traficul de la intrare et1 se răspunde prin et1

Serverul meu rulează Debian, aș aprecia orice ajutor.

EDITAȚI | ×: Deci, după dezactivarea gateway-ului eth1 și jucat puțin cu tcpdump Am putut confirma că traficul intră din eth0 și iese din eth1. Problema este că ISP-ul nu face trafic NAT care merge la punctul final 1.2.3.5 și apoi serverul identifică 10.0.0.X adresele așa cum se află pe interfață et1.

drapel in
Aceasta este o problemă de rutare, nu o problemă de firewall. Iptables nu face nimic pentru tine aici.
drapel in
https://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html
Jose Javier Gonzalez Ortiz avatar
drapel cn
Văd, ai dreptate. Am editat întrebarea pentru a reflecta asta.
drapel in
Nu utilizați DHCP în rețeaua internă, folosiți și statice acolo și nu adăugați o rută implicită. Routerul ISP ar trebui să aibă tot traficul fiind NAPT și serverul eth0 ar trebui să vadă acel IP dinamic, niciodată IP-urile rețelei interne. Nu "crede" să verifice cu `tcpdump` sau instrumente similare care trafic merge unde.
Puncte:1
drapel us

Aceasta este o problemă de rutare care poate fi rezolvată cu rutare bazată pe sursă sau rutare politică. Aceasta implică două tabele de rutare, câte unul pentru fiecare adresă sursă:

Vedea http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html pentru mai multe detalii.

Jose Javier Gonzalez Ortiz avatar
drapel cn
Am încercat asta așa cum a sugerat unul dintre comentarii. Cu toate acestea, nu este eficient, deoarece ISP-ul nu face NAT trafic la `1.2.3.5`, astfel încât pachetele de la ips `10.0.0.X` ajung la `eth0` și apoi tabelele de rutare le fac să revină prin `eth1`.
Falstone avatar
drapel us
Mă întreb dacă se modifică fișierul hosts pe fiecare dintre gazdele din rețeaua 10.0.0.X, astfel încât acestea să trimită cereri către mydomain.com la 10.0.0.5. Sau puteți configura un DNS local, ceva de genul acesta: https://tech.surveypoint.com/posts/installing-a-local-dns-server-behind-a-hardware-router/
Puncte:0
drapel in

Cred că acest lucru se datorează faptului că serverul primește pachetul de la interfața eth0, dar apoi răspunde prin eth1.

Nu. Routerul ISP cu NAT va trimite adresa clientului dumneavoastră 10.0.0.0 la o adresă dinamică ISP, astfel încât serverul dumneavoastră va răspunde la acea adresă mai degrabă decât la cea internă. Există excepții, cum ar fi FTP, care nu sunt neapărat compatibile cu NAT, deoarece vă vor transmite adresa IP internă la celălalt capăt al conexiunii, totuși, pentru cazul general, traficul dvs. NAT va rămâne pe eth0.

Verificați-vă jurnalele pentru a confirma că clienții trec la 1.2.3.4 și serverul primește conexiuni de la adresele NATed ip.ip.ip.ip.

La pornire, serverul ar trebui să aleagă 1.2.3.4 ca rețea către care să direcționeze traficul de internet, astfel încât accesul extern să funcționeze prin mydomain.com. Cu toate acestea, deoarece atât eth0 cât și eth1 au acces la internet prin gateway-urile respective

Nu face aia. Având mai multe gateway-uri implicite în configurații cu mai multe case rare, funcționează așa cum își doresc oamenii. Aproximativ mai multe gateway-uri implicite ar trebui utilizate numai atunci când ambele căi oferă acces la rețele identice, cum ar fi pentru redundanța routerului/disponibilitatea ridicată într-o setare de întreprindere. Deoarece routerul dumneavoastră ISP la Internet și conexiunea dumneavoastră directă la rețeaua publică nu sunt identice, ar trebui să eliminați acest lucru. eth0 ar trebui să aibă o rută implicită, eth1 ar trebui să aibă o rută către 10.x.x.x. Puteți face în continuare acest lucru cu DHCP, totuși aș aborda acest lucru ca o rezervare/excludere pentru 10.0.0.5 și aș configura IP-ul serverului manual.

În afară de ruta implicită străină, ceea ce ați descris este operația normală implicită. Asigurați-vă că căutați alte probleme care nu sunt descrise mai sus:

  • Fișierele gazdă care diferă de DNS (ați încercat să faceți clienții să se conecteze la 10.0.0.5 în loc de 1.2.3.4? Îmi place să folosesc un nume tehnic intern, cum ar fi webserver1.internalfqdn.com și un nume prietenos extern, cum ar fi www.externalfqdn.com)
  • Tabelele de rute manuale nu sunt reflectate mai sus (ați încercat să faceți scurtături de la 10.0.0.x la 1.2.3.4 la 10.0.0.5 ca router? - acest lucru poate funcționa, dar necesită o configurare suplimentară)
  • Protocoale de rutare (de exemplu, RIP) (într-adevăr o variație față de cele de mai sus, dar dacă aveți RIP sau altă publicare de rute activată, este posibil să publicați rute proaste
Jose Javier Gonzalez Ortiz avatar
drapel cn
Deci, după ce am dezactivat gateway-ul `eth1` și am jucat puțin cu `tcpdump`, am putut confirma că traficul intră de la `eth0` și iese din `eth1`. Problema este că ISP-ul nu realizează NAT traficul care merge la punctul final `1.2.3.5` și apoi serverul identifică adresele `10.0.0.X` ca fiind situate pe interfața `eth1`.
Doug avatar
drapel in
Dacă nu fac NAT, întreaga configurație este invalidă. Subrețeaua 10.x.x.x/8 nu trebuie să apară pe Internet deoarece este un spațiu de adrese rezervat. Aș bănui că se întâmplă altceva, deoarece nu m-aș aștepta niciodată ca nici măcar un ISP teribil să facă ceva atât de prost.
Puncte:0
drapel cn

Am ajuns să rezolv problema folosind un împărțiți DNS abordare, implementând un server DNS pe gazda mea și făcând ca întregul LAN să îl folosească ca server DNS implicit. Acolo, am adăugat reguli personalizate de rescriere DNS pentru mydomain.com a redirecționa către 10.0.0.5 în loc de adresa publică.În acest fel, gazdele din LAN îmi rezolvă domeniul la IP-ul intern, iar gazdele din afara LAN-ului îl rezolvă la IP-ul public, cu beneficiul că traficul local nu trebuie să iasă prin rețeaua ISP ca înainte.

O altă alternativă care cred că ar trebui să poată rezolva această problemă este dirijare ac de păr. Cu toate acestea, routerul furnizat de ISP-ul meu nu pare să accepte acest lucru.

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.