25. november 2002 - 12:06Der er
45 kommentarer og 2 løsninger
Internt LAN til eksternt net problem?
Jeg oplever problemer når jeg prøver at tilslutte mit interne LAN til det eksterne net gennem min Linux Box. Det interne LAN betår af 3 maskiner(winXP). Der routes som følger:
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
# enable Masquerade and forwarding iptables -t nat -A POSTROUTING -s $LAN_IP_NET -j MASQUERADE iptables -A FORWARD -j ACCEPT -i $LAN_NIC -s $LAN_IP_NET iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open ports on router for server/services iptables -A INPUT -j ACCEPT -p tcp --dport 80 iptables -A INPUT -j ACCEPT -p tcp --dport 22
# STATE RELATED for router iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Enable forwarding echo 1 > /proc/sys/net/ipv4/ip_forward ---------------------------------------------------------- Hvilke fejl kan jeg have begået, eller hvilke "mangler" kan der umiddelbart anskues?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
SLet ingen kontakt ud ? Du kan heller ikke pinge ud ? Jeg er ikke den store iptables guru, men har oxo en linux box stående som router al min trafik, den kører oxo iptables, men med gShield "ovenpå", det kan downloades fra www.freshmeat.net, det er bare et script man ligger ovenpå og vedlige holder så alle routings via nogle textfiler, meget simpelt :-)
Den anden tilføjelse du kom med, altså "echo 1 > /proc/sys/net/ipv4/ip_forward", den er jo inkluderet i scriptet, burde det så ikke være okay? (tester lige ovenstående mulighed så hurtig som muligt..)
"og tilføj eventuelt denne regel... husk at definere $EXTIP $IPTABLES -t nat -A POSTROUTING -s 192.168.0.1/24 -d "!" 192.168.0.1/24 -j SNAT --to $EXTIP"
- Der er vel ingen grund til at tilføje SourceNAT når scriptet undersøtter MASQUARADE - det er ligesom at gå med både livrem og seler og det kommer det nok ikke til at virke bedre af :o)
"prøv nu bare at ændre 0'et til 1 i dit script... men ellers ja, noget i den retning..."
Der er inkluderet i scriptet. Og der er absolut ingen grund til at gøre det i starten af scriptet hvis det er det du mener.
Blueprint: Virker nettet fra selve routeren.. prøv
# ping dr.dk
Derefter prøv at pinge fra windows maskinerne til routeren med iptables og visa versa
(p.s.) Scriptet ligner noget fra iptables.linux.dk som jeg jo kender rigtigt godt :o) - Jeg ved med sikkerhed at disse linier er testet på snart mange maskiner og plejer at virker første gang.
Noget af det der typisk går galt for folk er:
Bytter om på eth0 + eth1 Deres LAN maskiner er ikke konfigureret korrekt. De har ikke forbindelse til deres ISP på eth0(eller 1) på routeren.
Første script er for så vidt rett, men det finnes allikevell en god grunn til at det ikke skulle fungere. Lastingen av de kernel modulene som skal til for å støtte statefull inspection pluss ftp via nat er utelatt.
Dank -> Slo på firewall generator for å lage en copy paste av disse tre setningene, men de mangler her også. Hva har skjedd ??
Ellers: # STATE RELATED for de lokale prosessene på router maskinen iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEP
Langbein: iptables laster i princippet selv de moduler som behøvs. (så vidt jeg har forstået)
Hvis du enabler FTP server så vil modprobe ip_nat_ftp modprobe ip_conntrack_ftp også være der på firewall generatoren. Det burde måske være der i alle tilfælde?
Men det er ikke det der er problemet i dette setup.. jeg tror "blueprint" har mere fundementale problemer. jeg tror der er noget galt med opsætning af eth0 o.s.v.
ja det med DNS kan drille lidt. Med dette script formoder jeg folk benytter deres ISP's name server.. kunne være jeg burde skrive lidt om dette i kommentarer. For ellers kører det ikke..
Dog kan man relativt nemt teste dette ved blot at pinge en rigtig.ip.adresse.wan
Dank -> Jeg testkjørte et script fra din firewall generator og det kjørte også helt fint, så noe har vel blitt forandret i det øverste scriptet ? Hva med å føye til en mulighet for lokal dns server / udp port 53 ??
En eller annen liten detalje ser ut til å være forskjellig i det scriptet som er øverst og det som genereres ut automatisk. Har ikke klart å få øye på hva, men som sagt testkjørte akkurat ett fra nettstedet ditt og det kjørte ok !
jo jeg vil tilføje det med DNS en af dagene.. Jeg skal dog arbejde meget imorgen og til Tyskland i overmorgen så det bliver nok tidligst i næste weekend.
Men nettstedet ditt burdte vel også legge til støtte for statful inspection: modprobe ip_conntrack Tror ikke med at man kan regne mes at det alltid ligger inne som default eller at det lastes automatisk (?)
Korrekt! Scriptet er genereret fra din service. (Havde tænkt mig at nævne det hvis du faldt over dette spørgsmål! :)) Ganske glimrende system.
Ja, jeg kan sagtens pinge ud af eth0, dvs. det eksterne interface. eth1 fejler heller intet, da jeg flere gange har kørt blot med dette netkort uden problemer? Kan jeg eventuelt have fejlet med klient opsætningen? eller måske kabel-delegeringen?
-- Jeg har nu prøvet alle ovenstående, mulige, firewall scripts, og derved også prøvet at tilsutte fra forskellige OS'er. (win98, winXP og diverse Linux dist.) men det fungerer bare ikke! Jeg kan som sagt godt pinge ud fra det eksterne interface, men jeg kan eksempelvis ikke pinge "rundt" i det interne net(192.168.0.0/24)..fra nogen som helst maskiner? (det kan da umuligt være fordi jeg skal bruge krydskab. e.lign..?)
Det er lys i begge netkort, ja. Og jeg kan som nævnt, ikke, pinge routeren fra klienterne, heller noget som helst andet.
Mht. til eth1 og "da jeg flere gange har kørt blot med dette netkort uden problemer", det giver vel en garanti for kortet ikke er deffekt, konfigureret forkert, eller mangler drivere! (?)
jeg tror det er noget med gatewauy opsætningen på dine win klienter. Jeg har ikke så meget (=intet) forstand på windows maskiner, men normalt skal det vel være noget i denne retning
Hvis du er i tvivl om det er det rigtige kabel så prøv følgende:
Sæt en windows maskine med nedledningen direkte fra win -> eth1 ---- Hvis det virker så er dit problem kablerne. Hvis det heller ikke virker... ja så ved jeg snart ikke ... :)
For linux kjør kommando i text mode: "ipconfig" For Windows kjør kommando i dos vindu: "ipconfig" Her vil vel det meste av konfigurasjonen komme fram både for Linux og Windows. Legg ut begge utskriftene her.
hvis du kigger på eth1 så er der ikke sendt noget data overhovedet
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Har du ikke et andet netkort du kan prøve? Jeg ved du du selv mener at du kan garantere for det virker o.s.v... :o) Meeeen.... Jeg tror med sikkerhed godt vi kan sige at problemet er indkredset til eth1
selv hvis eth1 virkede ville det givetvis bare sende et eller andet ud på nettet også selvom dine klienter ikke var på nettet.
Ser det har skjedd en hel del her. Mente selvfølgelig ifconfig for linux maskinen. Ganske snodig feil for det pleier da ellers å kjøre når oppsettet er slik som over. Tror stort sett jeg ellers er enig med dank ... Hvis ikke da .. Har du flere windows klienter ? Kan disse pinge hverandre ? Det befinner seg ikke en firewall på windows maskinen som stanser det hele ??
..så er der sket en smule fremskridt i processen. Jeg har byttet det "defekte" netværkskort ud med et nyere, og tilsvarende det, som allerede sidder og er aktivt i maskinen(Intel Ethernet Pro 100). Dette gør vel intet, da begge netværkskort nu både sender og modtager pakker ganske upåvirket og fint.
Udover at have installeret nyt netværkskort, har jeg også byttet om på de to interfaces, så eth1 nu er eksternt og eth0 internt. Jeg kan nu uden problemer pinge "rundt" i hele netværket. Dvs. fra klienterne til routerens interne OG eksterne interface, og omvendt. men men men...Dette kan kun lade sig gøre når firewall scriptet ikke er kørt! Så snart jeg kører scriptet fejler det hele igen. (det virker lidt ligesom om at man har sat firewallen op til at droppe ICMP-pakker?)
Well, så langt, så godt. Det skal lige nævnes at de steder jeg nu har testet ovenstående, har været steder hvor det eksterne interface i routeren har fået tildelt IP via DHCP. Kan dette indvirke på noget? (Jeg husker dog altid at rette i scriptet når en ændring er foretaget!)
Forsøkte å kjøre scriptet her også. Ser ut til å være en eller liten bug. Får ikke internettforbindelse ut. Det er jo en feil. Firewall blir heller ikke "pingbar" men det er vel for så vidt i samsvar med at firewall faktisk er satt opp for å undertrykke ping, altså ingen feil. Det kan åpnes. Vil forsøke å se på tingene i løpet av dagen/kvelden når jeg får tid.
Kan din sidste løsning så benyttes som router også? Og er der taget forbehold for at eth0 er det internet (LAN) interface og eth1 det eksterne(WAN)? Takker mange gange for din hjælp ellers.
Ville kjørt hele scriptet for "midlertidig løsning". Chains bør flushes, dvs "den gamle firewall" bør slettes og modprobe ip_nat_ftp og modprobe ip_conntrack_ftp er vel ikke alltid med som standard (?)
"Kan din sidste løsning så benyttes som router også?" Jada, testet den som akkurat det. eth0 er WAN og eth1 er LAN slik som jeg testet den.
Vedrørende kommentar snat/masquerade: SNAT og MASQUERADE er vel to forskjellige syntaks elementer som i forhold til firewall og funksjonellt virker nær identisk (Bortsett fra at SNAT kommando forutsetter anngivelse av den eksterne avsender ip). Derfor er SNAT satt i kommentar bak masquerading.
dank -> Kommentar litt på siden av dette spørsmålet: Forsøkte først å få til application firewalling i tillegg til packet firewalling ved å bruke socks5. Fungerte ikke. Gikk så over til å teste ut med Squid. Denne viser seg å ha "application firewalling" som mulighet og internettforbindelsen ble bare utrolig bra når Squid kom inn. Det siste hadde jeg ikke regnet med. Det kom som en liten overraskelse i tillegg til selve firewallingen.
Ja Squid er en virkelig god ting. Og kan benyttes til fantastisk mange ting. Jeg benytter den selv som alm. webcache. For at slippe for at klienterne skal ændre i deres proxy indstillinger på deres (f.eks. windows) klienter, så benytter jeg "transperant proxy", på denne måde
YES! :) Nu kører det. Brugte ovenstående script som langbein foreslog, og det kørte stort set med det samme. Rettede derefter scriptet til med INPUT DROP, og satte derefter de ønskede porte op. Håber det er den rigtige vej?
Det er mig nu muligt at pinge, IP-adresser kun, ud af huset. Hvad skal gøres for at klienter kan skrive www.domæne.dk?? istedet for IP'en? PROXY?..
Dank smid et svar, og så tildeler jeg jer begge point. (dank + langbein) Endnu en gang mange tak! :)
Jeg forstår heller ikke helt hvorfor det orginale scriptet ikke virket. Kan i hvert fall ikke se med et halvt øye hvorfor. Forrige gang den samme problemstillingen var oppe så laget jeg en testkjøring av et script fra din side og det kjørte helt fint. Det er vel en eller annen liten detalj .. Et punktum eller et komma er jo nok ..
Squid .. Dank, da må du ha oppdaget som meg at det kjører bedre.
www.domene.dk, ja det må dreie seg om rett oppsett av dns. Det går bra å enten kjøre lokal dns på Linux eller du kan adressere gjennom firewall fra klientene til ekstern dns server.
well, opslag på www.domæne.dk virker fint nok hvis blot jeg benytter min ISPs DNS servere, så jeg holder mig nok bare til dette i første omgang! men ja, ellers kan man vel bare smide noget caching-only namserver op.. :)
Håber det er i orden med de point? Ellers smider jeg bare et "point-spørgsmål"?? :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.