Avatar billede Slettet bruger
24. maj 2002 - 15:46 Der er 13 kommentarer og
1 løsning

iptables og gateway

Nå..
Problem:
Jeg har en linux 7.2 og vil meget gerne bruge iptabes som firewall og gateway på mit hjemme netwærk.
vi har 2 netkort i vores (ikke virkende) firewall, et som går til vores lan og et som er connected til vores router..
På firewallen kan vi pinge begge net, så der er der ingen problemer, men vi kan ikke komme fra en client på vores lan, og ud igennem firewallen, og ud til internettet.
Vi har lige nu denne firewall opsætning:


iptables -F
iptables -P FORWARD DROP
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.2
iptables -A FORWARD -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -a PORTROUTING -o eth0 -j MASQUERADE

hvad går vi galt.. firewallen melder ingen fejl, men vi kan ikke komme igennem.
help..
Avatar billede thomasledet Nybegynder
24. maj 2002 - 16:59 #1
du har glemt at køre:

echo "1" > /proc/sys/net/ipv4/ip_forward

se eventuelt på http://www.braindump.dk/dk/wiki/?wikipage=IpTables
Avatar billede langbein Nybegynder
24. maj 2002 - 18:02 #2
Det aller første du må gjøre det er å finne ut med sikkerhet om din maskin kjører iptables eller ipchains. Red Hat 7.2 er satt opp defult med ipchains og ikke iptables.
Kjør følgende to kommandoer:
"ipchains -L"
"iptables -L"
Den som ikke gir feilmeldinger er den du har kjørende.
Omkonfigurering fra ipchains til iptables kan være litt tricky.
Legg ut beskjed om resultatet av testen over.
Avatar billede langbein Nybegynder
24. maj 2002 - 18:23 #3
Litt tolkning av iptables firewallen over:

iptables -F
** Flusher eller resetter default tabell/regelsett. Greit nok.

iptables -P FORWARD DROP
** Setter forwarding policy eller default forward regel til DROP.
** Det vil si at firewall i utgangspunktet er blokkert for servere/
** arbeidsstasjoner som ligger bak firewall. Kan være ok.

iptables -P INPUT ACCEPT
** Setter input policy eller default input regel til åpen. Det vil si at ** firewallen selv i utgangspunktet er 100 % åpen for alle eksterne
** henvendelser. Med andre ord: Firewall maskinen selv er uten firwall.
** Maskinene bak firewall er i utgangspunktet beskyttet men den maskinen
** som skal ivareta denne beskyttelsen er i utgangspunktet ubeskyttet.
** Henger rent sikkerhetsmessig ikke særlig godt sammen.

iptables -P OUTPUT ACCEPT
** Åpen for all trafikk ut. I utgangspunktet greit nok.

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.2
** I utgangspunktet korrekt syntaks for en delt internettforbindelse
** for de maskinene som ligger innefor firewall. Man kan imidlertid
** ikke bruke en intern ikke routbar ipadresse som "avsender adresse"
** for ip pakkene. 192.168.1.2 kan ikke brukes. Her må settes inn den
** eksterne ip adressen man benytter slik at alle ip-pakker mottar
** returtrafikk via denne ip adressen. Setningen er således ikke rett.

iptables -A FORWARD -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
** Dette skal i utgangspunktet "override" en default forward policy som
** er satt til DROP eller stengt. Er litt usikker på syntaksen. Tror ikke
** man kan sette opp en to veis forwarding på denne måten.

iptables -t nat -a PORTROUTING -o eth0 -j MASQUERADE
** Denne setningen tror jeg i all enkelhet er feil. PORTROUTING ??
** Kjenner ikke til det. Man setter ikke opp MASQUERADING på denne måten.
** POSTROUTING det ville ha vært noe annet dersom det dreier seg om
** en delt internettforbindelse med dynamisk ip
Avatar billede gathond Nybegynder
24. maj 2002 - 18:39 #4
--to-source 192.168.1.2, kan være god nok hvis firewallen sidder på en ADSL hvor routeren har endnu en gang nat, og ser 192.168.1.2 som maskinen på netværket, også selv oversætter til den egentlige eksterne IP
Avatar billede langbein Nybegynder
24. maj 2002 - 18:54 #5
Det stemmer. Har testet SNAT i to nivåer og det fungerer. Dersom det finnes et DNAT i nivå over (dvs foran) Firewall så skulle dette kunne fungere. Testet dette på to linux firewall koplet "i serie" med server på nettverksegment mellom serverne og da fungerte det faktisk slik som gatehound sier. I så fall kan "--to-source 192.168.1.2" teoretisk sett være korekt nok.
Avatar billede langbein Nybegynder
24. maj 2002 - 18:58 #6
Det vil i så fall si at den endelige "omadresseringen" av ip pakkenenes avsenderadresser til en routbar ip i stedet for lokale ikke routbare adresser skjer i router. Har sett ADSL routere som ser ut til å virke på denne måten (CISCO).
Avatar billede langbein Nybegynder
24. maj 2002 - 18:59 #7
testkanin -> Hva slags router eller internettforbindelse bruker du ?
Avatar billede langbein Nybegynder
24. maj 2002 - 19:36 #8
Eksempel på en nokså enkel iptables "firewall" som ikke kan stort annet enn å dele en internett forbindelse:

# Remove any existing rules from all chains
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush

# Set the default policies
iptables --policy INPUT  DROP
iptables --policy OUTPUT  ACCEPT
iptables --policy FORWARD ACCEPT

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

Er usikker på denne som thomasledet nevner:
echo "1" > /proc/sys/net/ipv4/ip_forward

Den kan eventuelt legges inn først, helt i starten i scriptet eller til sist.


Spørsmål til "de spesielt intereserte":
Over er FORWARD policy satt til ACCEPT. Dette skulle i utgangspunktet gi full adgang til de servere / arbeidsstasjoner som ligger bak firewall, altså ingen beskyttelse. Når man på den anne side benytter masquerading og private adresser bak firewall så blir alle adresser bak firewall i utgangspunktet utilgjengelige via internett fordi det dreier seg om ikke routbare adresser. Mon dette ikke er sikkehetsmessig rimleig ok ??

testkanin -> Du må være sikker på at maskinen virkelig er satt opp til å kjøre iptables eller så blir det hele nokså meningsløst. (Da må eventuelt legges inn script basert på ipchains.)
Avatar billede langbein Nybegynder
24. maj 2002 - 19:39 #9
Foreløpig svar ..
Avatar billede langbein Nybegynder
24. maj 2002 - 19:49 #10
Litt "tolkning" av den enkle "firewall" over:

# Remove any existing rules from all chains
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush
** Linjene over flusher alle tables / rules.


# Set the default policies
iptables --policy INPUT  DROP
Denne sperer for all trafikk inn til firewall maskinen seld slik at denne er beskyttet.

iptables --policy OUTPUT  ACCEPT
** Setter åpent for utgående trafikk.

iptables --policy FORWARD ACCEPT
** Åpner for all forwarding dvs trafikk til maskiner som ligger bak
** firewall. Dersom man hadde brukt globale "offentlige" ip bak fireweall
** så ville dette ha vært håpløst. Med lokale ikke adresserbare
** ip bak firewall så bør vel dette kunne passere ???


iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
** Dette er en delt internettforbindelse, på enkleste måte, basert på
** dynamisk tildelt ip adresse. Bør også fungere ved statisk ip.
** (Ikke helt sikker på om det vil fungere dersom det reelt sett dreier
** seg om firewall / routing i flere nivåer slik som gatehound nevner.

testkanin -> kan du testkjøre litt ??
Avatar billede langbein Nybegynder
24. maj 2002 - 21:38 #11
Hvis det er slik som gatehound nevner så kan det faktsik tenkes at postrouting setningen går ut og at den erstattes med den opprinnelige:

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.2

Forutsatt:
1. Routeren for inernettilkopling tildeler den innvendige gatewayrouteren ip adresse 192.168.1.2
2. eth0 er koplet opp mot internettrouteren.

Er ikke sikker på om man kan bruke MASQERADE i stedet for SNAT dersom det er snakk om firewll / routing i to nivåer, men tror vel egentlig at også dette lar seg gjøre. (???)
Avatar billede swiff Nybegynder
25. maj 2002 - 12:19 #12
testkanin, jeg har skret en bog om det engang, men min harddisk er brændt. Hvis du ikke har fundet ud af det endnu, kan jeg lige spørge mine kammerater om de har en kopi :)
Avatar billede langbein Nybegynder
25. maj 2002 - 13:33 #13
Dersom det forholder seg slik som gatehound foreslår (og det kan jo godt være tilfellet):

"--to-source 192.168.1.2, kan være god nok hvis firewallen sidder på en ADSL hvor routeren har endnu en gang nat, og ser 192.168.1.2 som maskinen på netværket, også selv oversætter til den egentlige eksterne IP"

Hvis den første router i virkeligheten inneholder en firewall / router, eventuelt med DHCP, så kan man jo bare sette opp en hub/switch etter routeren og så firewalls etter behov på de lokale brukerne. Det vil være det enkleste. NAT/Masquerading i flere nivåer blir forholdsvis kompisert.

testkanin -> lever du ?
Avatar billede langbein Nybegynder
26. maj 2002 - 21:09 #14
Hovedtipset er altså at du sannsynligvis bør bruke, i all enkelhet, en hub/switch og så enkle firewalls på de enkelte server/klienter, hvis du allerede har en nettverkstilkopling kjørende som i realiteten inneholder en firewall/router.
Ellers så ligger det litt info her:
http://www.eksperten.dk/spm/214948
Kounne eventuelt forsøke å lage et testkjørt script til ditt oppsett (hvis du har behov for det) men da må du først legge ut litt mere info.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester