Avatar billede bosco Nybegynder
01. juni 2003 - 15:21 Der er 25 kommentarer og
1 løsning

Router/firewall

god søndag!!

Jeg skal have lavet en Linux router, på en RH 9...

det jeg mangler hjælp til er et IPTABEL script (er det ikke sådan det hedder?!?)
min forespørgsel går på et KOMPLET script jeg kan kopiere ind på min linux box og ikke ændre noget som helst... altså en fuldt funktionelt script.

IP-adresse oversigt:
ETH0: 192.168.20.3 og 192.168.30.3
ETH1: 192.168.20.4
ETH2: 192.168.30.4

Jeg har 2 net 192.168.20.0 og 192.168.30.0 som kommer ind på samme interface, ETH0.
De to net skal så routes til hvert sit interface. Man skal ikke fra 192.168.20.0 nettet have adgang til 192.168.30.0 nettet og omvendt.

her er lige en lille tegning over hvordan det ser ud:
http://dalsvinget.dk/max/linux.jpg

Hvis det ikke er forståeligt nok så skriv endelig!

jeg skal gerne bruge scriptet ASAP

-Max
Avatar billede bufferzone Praktikant
01. juni 2003 - 15:24 #1
Hent bogen "Linux - Friheden til sikkerhed på internettet" her er flere forskellige scripter du kan bruge, samt forklaringer m.m.
Avatar billede Slettet bruger
01. juni 2003 - 15:54 #2
Hej Max
Er du på h4 ?
Troede man selv skulle lave det så :P

men kig her
http://www.linuxguruz.com/iptables/
www.netfilter.org
Avatar billede bosco Nybegynder
01. juni 2003 - 15:55 #3
jeps, der er masser af materiale om det det ved jeg... men jeg har ikke tid idag.. skal bruge det imorgen..

-Max
Avatar billede bosco Nybegynder
01. juni 2003 - 16:08 #4
Hey allan!
jeg er færdig. jeg blev udlært 22 april. så det er col nok!

jeg kan også godt selv lave det hvis jeg sætter mig med det. Men har som sagt ikke tiden idag. Så var det jo jeg vidste der er en masse kloge mennesker herinde, som måske ville hjælpe :-)

-Max
Avatar billede bosco Nybegynder
01. juni 2003 - 19:46 #5
er der virklig ingen der gider lave det scipt??

-Max
Avatar billede langbein Nybegynder
01. juni 2003 - 21:49 #6
Du gir korte tidsfrister. Så spørsmålet akkurat nå. Egentlig så har du vel ikke spesifisert hva slags trafikk som skal passere gjennom denne routeren og om den skal være bygget opp rundt "nat funksjonalitet" eller ikke. De brukerne som er koplet opp mot "lan gren, eth 1 og 2" hva er det disse brukerne skal kunne gjøre, dreier det seg om å surfe på inernett eller noe helt annet ?
Ser ellers at du har lokale ip "i alle ender", dette vil vel også si at det sitter en nat forrant eth0 ?? (Dette vil jo også kunne ha litt betydning for hvordan denne routeren kan lages. 2 stk nat kopet etterhverandre "i serie" fungerer faktisk bra, i hvert fall på en to port router.)

Hva met et par ord om bruksmåte / bruksområde ??
Avatar billede langbein Nybegynder
01. juni 2003 - 22:03 #7
Eth0 er gitt ip 192.168.20.3 og Eth1 er gitt ip 192.168.20.4
Dette vil normal si at Eth0 og Eth1 er en del av det samme nettverk.

Eth0 er også gitt 192.168.30.3 samtidig som Eth2 er gitt ip 192.168.30.4
Dette vil si at Eth0 og Eth2 også er definert til å høre til det samme nettverk.

Rouring må skje mellom forskjellige nettverk og ikke fra ip til ip innenfor det samme nettverk. Ser for meg ut som om ip adressene i utgangspunktet er satt slik at oppgaven ikke kan løses (??).

Hadde man der i mot definert 3 forskjellige nettverkssegmenter så skulle det vel gå an å route trfikken mellom disse. Det trengs imidlertid også opplysninger om hva slags trafikk, videre gjennom den neste router og ut til internett, eller bare lokalt til det annet tillatte lan segment ??
Avatar billede langbein Nybegynder
02. juni 2003 - 03:33 #8
Denne oppdeling i subnettverk/fordeling av ip adresser skulle vel kunne fungere(??)(tror det, bare litt usikker på at et nettkort eth0 er tilordnet 2 forskjellige subnett, hadde det vært to forskjellige ip i samme subnett så hadde det vel helt sikkert gått bra.):

eth0: 192.168.20.3 og 192.168.30.3 (Hvis man vil ha to forskjellige ip.)
eth1: 192.168.21.4
eth2: 192.168.30.4

subnettmaske blir da 255.255.255.0

Hvordan man så skal lage et script i iptables som sørger for riktig trafikk mellom de forskjellige subnettene det kommer jo litt ann på hva slags trafikk det er snakk om, først og fremst om det er snakk om lokal trafikk mellom subnettene/nettverkssegmentene eller det er snakk om trafikk ut til internett.
(I det første tilfellet så vil det vel bare være snakk om en ren routing evntuelt med en filtreringsfunksjon for å unngå uønsket trafikk, i det annet tilfelle dvs med hensyn til en delt internettlinje så vil det vel sansynligvis være best å lage en nat løsning.)
Avatar billede langbein Nybegynder
02. juni 2003 - 04:11 #9
Denne bør vel faktisk kunne gjøre det uansett:


#!/bin/bash

# Load in extra kernel modules:
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

# Activate forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forward

# Reset chains
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Sette policies (default rules):
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# Establishing masquerading (SNAT):
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Laget den egentlig til et annet spørsmål her på eksperten, men det ser ut til at det skulle virke her også. Tror ellers at ip adressene må fikses slik som foreslått over for at kommunikasjonen skal kjøre.

Forresten, det blir vel en feil: Det vil lekke mellom nettverkene på eth1 og eth2. Forsøk å kjøre og se om det ellers fungerer. Bør eventuelt kunne legge på en ekstra fitreringsfunksjon etterpå.
Avatar billede langbein Nybegynder
02. juni 2003 - 10:41 #10
Skriptet over skulle vel sette åpent for all lokal trafikk mellom nettverkssegmentene pluss nat for utgående internettforbindelser. (I tillegg til den nat som måtte finnes fra før, har testet oppsett med to slike nat satt etter hverandre og det har fungert ok i hvert fall med routere som har to kort.)

Hvis du tester om det fungerer hos deg så langt så kan jeg se på å legge til det som skal til for å restrikte trafikken mellom de to nevnte nettverkssegmentene.
Avatar billede langbein Nybegynder
03. juni 2003 - 18:47 #11
Laget noen test ??
Avatar billede langbein Nybegynder
03. juni 2003 - 18:48 #12
Ups jeg har jo skrevet feil over, det må vel bli slik:

eth0: 192.168.20.3 og 192.168.30.3 (Hvis man vil ha to forskjellige ip.)
eth1: 192.168.21.4
eth2: 192.168.31.4 (rettet)
Avatar billede bosco Nybegynder
06. juni 2003 - 11:29 #13
hej!
jeg undskylder den lange svar tid, det skyldes enmeget travl uge. Jeg har hele ugen bøvlet med 2 foeskellige maskiner jeg kunne bruge til dette projekt! men har nu en RedHat 9 oppe og køre.

Routeren skal bruges på et lokal net, den kommer slet ikek i kontakt med internettet. så NAT skulle ikke være nødvendigt.

Jeg har nu indtastet scriptet som du har skrevet det. når jeg starter iptables, kommer der en fejl ved indlæsning af scriptet. allerede ved echo skriver den at det er en ugyldig kommando... hvis jeg så fjerne echo 1 >... linien kommer den med en fejl ved iptables, hvor den også siger dette er en forkert kommando... det forstår jeg ikke! er der noget specielt i RH 9 ?? eller er der noget jeg mangler at installere?

-Max
Avatar billede bosco Nybegynder
06. juni 2003 - 11:31 #14
jeg skrev scriptet i filen /etc/sysconfig/iptables
efter det var gjort skrev jeg service iptables restart
skulle det ikke være godt nok?

-Max
Avatar billede montimer Nybegynder
06. juni 2003 - 23:17 #15
iptables-howto der er alt hvad du skal bruge
Avatar billede bosco Nybegynder
10. juni 2003 - 09:57 #16
så tror jeg jeg er ved at have styr på det med scriptet!! så der er snart point til langbein...

men jeg kan ikke lige få det med to ipadresser til at spille på et netkort! hvordan gøres dette?

-Max
Avatar billede bosco Nybegynder
10. juni 2003 - 11:25 #17
JUHUUUUU!!! og HIP HIP hurra!
nu virker det hele!! så det er helt raket! fandt et spørgsmål her på exp hvor der stor det med 2 iper på samme netkort! og nu køre pisset!

Mange tak for hjælpen!

her er point til dig langbein!

-Max
Avatar billede bosco Nybegynder
10. juni 2003 - 14:00 #18
der er lige den sidste ting jeg er i tvivl om...

Jeg vil gerne spære for trafik fra eth1 til eth2 og fra eth2 til eth1, hvordan gøres det i scriptet???

-Max
Avatar billede langbein Nybegynder
10. juni 2003 - 18:16 #19
Takker for points !

Forsøk dette:

#!/bin/bash

# Load in extra kernel modules:
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

# Activate forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forward

# Reset chains
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Sette policies (default rules):
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -A FORWARD -i eth1 -o eth2 -j DROP
iptables -A FORWARD -i eth2 -o eth1 -j DROP

Her er jeg litt i tvil. Mon de siste to setningene heller skal erstattes med:

iptables -A INPUT -i eth1 -o eth2 -j DROP
iptables -A INPUT -i eth2 -o eth1 -j DROP


Kan du teste dette ??

Event sett til en masqurade/delt internettforbindelse etter behov.
Avatar billede bosco Nybegynder
11. juni 2003 - 09:09 #20
det er disse sætninger der skal bruges:

iptables -A FORWARD -i eth1 -o eth2 -j DROP
iptables -A FORWARD -i eth2 -o eth1 -j DROP

-o kan ikke bruges sammen med FORWARD skrev den...

Jeg fiksede også selv en "regl" så man ikke kan route mellem 192.168.21.0 og 192.168.31.0 nettene. Så jeg har lavet lidt af scriptet selv :-) hehe

mange tak for god og hurtig hjælp!

-Max
Avatar billede langbein Nybegynder
11. juni 2003 - 10:29 #21
Ok takker for info. Akkurat dette har jeg aldri forsøkt å sette opp, så var litt i tvil om det var FORWARD eller INPUT chain som skulle brukes.

Egenlig så bygger hele opplegget rundt iptables og netfilter på noe nokeså enkel "mekanikk" og når man først får tak i selve grunprinsippene så lar det seg stort sett gjøre å lage nesten hva som helst.

Var og sammenliknet med en Microsoft ISA server her om dage som var drevet av et av de store profesjonelle datafirmaene her. Ganske morsomt å se at Win 2000 server pluss ISA server stort sett ikke kunne noe annet enn det som man kan sette opp ved å kombinere iptables med squid proxy.

Den eneste forskjell som jeg kunne se slik ISA serveren var satt opp det var at det fantes en nokså enkel funksjon der man kunne endre firewall reglene i løpet av dagen. Dette blir litt mere besværlig for Linux. Man kan jo eventuelt kjøre firewall script som forskjellige cron jobber, skulle en tro.

Lisenspenger for en Win 2000 pluss ISA server det blir vel noe slikt som 12.000 x 2 og Linux er gratis ..
Avatar billede bosco Nybegynder
11. juni 2003 - 11:06 #22
hehe ja men må sige det sætter Microsoft´s dyre licenser lidt i perspektiv! de steder der kan bruges Linux syns jeg det skal gøres! Men det er svært at få overbevist alle om det er en god ide...

-Max
Avatar billede bosco Nybegynder
11. juni 2003 - 11:14 #23
lige en ting mere!

jeg vil gerne lukke for forwarding af DHCP i min router. hvordan gøres dette?

-Max
Avatar billede langbein Nybegynder
11. juni 2003 - 14:12 #24
Vanskelig spørsmål. Vet i hvert fall ikke svaret på sparket. Fant en link. Tar vare på den for senere referanse.
http://iptables-tutorial.frozentux.net/chunkyhtml/include.rcdhcpfirewall.html
Vet ikke om den duger. Vil forsøke å sjekke litt på saken.
Avatar billede bosco Nybegynder
11. juni 2003 - 21:11 #25
God aften!
nu har jeg lige haft den sat til i det rigtige netværk hvor den skal sidde. Og den forwarder ikke DHCP som den står... så det er cool nok! så ikke mre bøvl med det! havde ellers lavet en sætning jeg troede skulle virke... men er ikke sikker:

iptables -A FORWARD --sport 67 -j DROP
iptables -A FORWARD --dport 67 -j DROP

iptables -A FORWARD --sport 68 -j DROP
iptables -A FORWARD --dport 68 -j DROP

tag dig ikke af hvis det er helt håbløst jeg er jo stadig nybegynder i det :-)
men det havde været det jeg ville forsøge med hvis den havde forwardet DHCP.
Jeg tror jeg vil smutte hjem for idag!
hygge!

-Max
Avatar billede langbein Nybegynder
12. juni 2003 - 11:19 #26
Jo, dette skulle vel virke. I følge Zwicky, Cooper, Chapman: Building internet firewalls, side 645 så kommuniserer dhcp ved hjelp av udp protokoll og port 67 og 68.

Når du lar være å spesifisere protokoll og kun spesifiserer port så skulle vel det virke slik at du blokkerer alle protokoller inklusive tcp for port 67 og 68. Skulle tro at det virker.

Måten å finne ut hva man skal blokkere hvis man ikke har det i en bok det er å la trafikken kjøre uten restriksjoner mens man benyter en packet sniffer som dumper trafikken fortløpende slik at man kan se hvilken trafikk man behøver å blokkere. http://www.ethereal.com
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