Gjest Slettet+432 Skrevet 29. desember 2006 Del Skrevet 29. desember 2006 (endret) Hey! Slik ser nettverket mitt ut nå: Kan kanskje se litt rart ut, men det skal være sånn. Det jeg vil er å kjøre all trafikk fra AP2 (topcom) gjennom en server som kjører MAC-adresse filtrering (pga verken topcom routerens mac-adresse filtrering eller kryptering ikke virker) og en squid gjennomsiktig proxy (for filtrering av div. dritt som en 7-åring ikke bør se). Har nettopp installert OpenBSD 4.0. Vet at det er pf som skal brukes, men kan lite med dette, egentlig lite med nettverks-teori generelt, og vet ikke om jeg skal sette nettverket bak gatewayen på et annet subnett eller noe sånt. Har lite peiling på det, så om noen kunne gi meg et hint om det, og hvordan jeg skal sette opp OpenBSD og pf så hadde det vært flott. Håper noen kan hjelpe en helt ny OpenBSD bruker som aldri har vært borti *BSD før Edit: Maskinen jeg skal bruke: Intel Celeron 333 MHz 192 MB RAM (tror det er noe sånt) 2 disker: 10 GB og 13 GB 2 nettverkskort (dc0 = inn og fxp0 = ut som jeg har forstått det?) Endret 29. desember 2006 av Slettet+432 Lenke til kommentar
Zerge Skrevet 29. desember 2006 Del Skrevet 29. desember 2006 Det er i utgangspunktet 2 ting du må endre på for å få OpenBSD til å fungere som en ruter. i /etc/sysctl.conf må du fjerne kommenteringen for "net.inet.ip.forwarding=1" og i /etc/rc.conf.local (evt. /etc/rc.conf) må linjen "pf=YES" finnes. Nå er maskinen satt opp til å kunne rute pakker og til å benytte seg av PF. Videre for å konfigurere PF editerer du /etc/pf.conf etter eget ønske. Det finnes masse howtos der ute, så det er bare å google i vei. For å kontrollere PF bruker du "pfctl" for å se de forskjellige argumentene pfctl tar lønner deg se å lese man fila ("man pfctl"), men for at du kommer raskt i gang er kommandoen for å flushe regler og lese nye regler: "pfctl -Fa -f /etc/pf.conf" Når det gjelder nettverkskort, og at disse ikke heter ethX som i Linux, forklares det enkelt med at *BSD heller navngir nettverkskortene etter hvilken driver de benytter seg av. xlX - de fleste 3com 100mbit kort rlX - de fleste Realtek 100mbit kort fxpX - de fleste Intel 100mbit kort dmX - de fleste Realtek 1000mbit kort emX - de fleste Intel 1000mbit kort. Velkommen til *BSD verdenen og lykke til:) Lenke til kommentar
Gjest Slettet+432 Skrevet 29. desember 2006 Del Skrevet 29. desember 2006 Det er i utgangspunktet 2 ting du må endre på for å få OpenBSD til å fungere som en ruter. i /etc/sysctl.conf må du fjerne kommenteringen for "net.inet.ip.forwarding=1"og i /etc/rc.conf.local (evt. /etc/rc.conf) må linjen "pf=YES" finnes. Nå er maskinen satt opp til å kunne rute pakker og til å benytte seg av PF. Videre for å konfigurere PF editerer du /etc/pf.conf etter eget ønske. Det finnes masse howtos der ute, så det er bare å google i vei. For å kontrollere PF bruker du "pfctl" for å se de forskjellige argumentene pfctl tar lønner deg se å lese man fila ("man pfctl"), men for at du kommer raskt i gang er kommandoen for å flushe regler og lese nye regler: "pfctl -Fa -f /etc/pf.conf" Når det gjelder nettverkskort, og at disse ikke heter ethX som i Linux, forklares det enkelt med at *BSD heller navngir nettverkskortene etter hvilken driver de benytter seg av. xlX - de fleste 3com 100mbit kort rlX - de fleste Realtek 100mbit kort fxpX - de fleste Intel 100mbit kort dmX - de fleste Realtek 1000mbit kort emX - de fleste Intel 1000mbit kort. Velkommen til *BSD verdenen og lykke til:) 7602151[/snapback] Takk for svar Hadde håpet å få et lite hint til konfigurasjonen... På google finner jeg hauger av guider for OpenBSD 3x, men finner ingen som passer til mitt formål. Lenke til kommentar
Zerge Skrevet 29. desember 2006 Del Skrevet 29. desember 2006 PF er ganske enkelt genialt enkelt:) Hvis du ønsker å benytte deg av NAT har du anledning til det ved å legge til en enkel linje, eller å editere den som ligger der som et eksempel. (Jeg har ikke tilgang til noen pf.conf jeg tidligere har skrevet her nå, så det blir litt abstrakt) Hvis du ikke ønsker å benytte deg av NAT i PF, men heller i netopia routeren din, kan du enkelt og greit sette opp en bridge mellom dc0 og fxp0, for så å kjøre en gjennomsiktig brannmur/proxy. Lag en ny fil som heter /etc/bridgename.bridge0 og legg til følgende linjer: " add dc0 add fxp0 up " Restart serveren eller nettverket etter eget ønske, og du skal nå ha en fungerende bridge satt opp mellom dc0 og fxp0. En enorm fordel med OpenBSD som jeg ikke har sett i Linux (kanskje pga. manglende kunnskap) er at du fremdeles kan beholde IP'r på NICene, selv om det er satt opp en bridge. Videre må du så legge til regler i PF etter eget ønske. Det du må huske på er at nettverkspakker som går gjennom bridgen din kan bli prosessert på 4 steder. innkommende på dc0 -> utgående på fxp0 innkommende på fxp0 -> utgående på dc0 si at dc0 nå er nettverkskortet som er koblet til ap2, og du ikke er redd for trafikk som kommer internt fra det resterende nettverket tilkoblet fxp0 pass all in on fxp0 pass all out on fxp0 drop all in on dc0 pass all out on dc0 Videre, for å tillate trafikk senere kan du med argumentet 'quick' overstyre de generelle reglene. (når det kommer til MAC filtrering har jeg aldri testet ut dette i praksis, da jeg heller har benyttet meg av andre former for å sikre trådløse nettverk. OpenVPN er f. eks. en genial løsning for å sikre nettverk for alle mulige innbrudd. Uansett, se her for en grei guide til hvordan det gjøres: http://www.openbsd.org/faq/pf/tagging.html) pass in quick on dc0 tagged USER1 keep state I tillegg må du evt. legge til en linje som redirecter alle forespørsler mot port 80 til en lokal proxy. Slike regler skal stå først i regelsettet mener jeg å huske, men les gjennom http://www.openbsd.org/faq/pf for å være sikker:) rdr on dc0 proto tcp from any to any port 80 -> 127.0.0.1 port XXXXX Lenke til kommentar
Gjest Slettet+432 Skrevet 30. desember 2006 Del Skrevet 30. desember 2006 (endret) Tusen takk! Det var til mye mer hjelp Om noen vet noe om MAC filtrering også så hadde det vært kjempeflott pass all in on dc0 pass all out on dc0 drop all in on fxp0 pass all out on fxp0 (redigerte det så det passer til mitt nettverk) All trafikk kan komme inn gjennom dc0 (LAN). All trafikk fra fxp0 (ap2) kan gå ut gjennom dc0 og til resten av nettverket. All trafikk inn på fxp0 (altså bak gatewayen) blir droppet, og all trafikk ut gjennom fxp0 tillates. Har jeg forstått det riktig? Men hvorfor vil jeg droppe all trafikk inn på fxp0, altså inn til ap2? Da får de vel ikke motatt websider eller noe da? Eller er jeg helt på jordet nå? pass in quick on dc0 tagged USER1 keep state Hva gjør denne? Endret 30. desember 2006 av Slettet+432 Lenke til kommentar
Zerge Skrevet 30. desember 2006 Del Skrevet 30. desember 2006 Det er viktig at du klarer å se for deg trafikkflyten gjennom gatewayen. Vi tar for oss fxp0 som har en kabel til AP2. Hvis vi snakker om "out on fxp0" betyr det trafikk fra fxp0 og til AP2. Snakker vi om "in on fxp0" betyr det da fra AP2 og til fxp0. Dvs. ønsker du å sette opp MACfiltrering på fxp0, vil du altså ikke være interessert i at alle tilkoblet AP2 får kontakt med fxp0, men kun de som har riktige MAC adresser. Som jeg nevnte tidligere kan du lese om MAC filtrering her: http://www.openbsd.org/faq/pf/tagging.html Nederst på den siden står den greit forklart hvordan du kan "tagge" visse kriterier for bridgen din, og videre hvordan du bruker denne taggingen videre i pf.conf. (Det er der jeg hentet "USER1" fra. Det som da blir riktig for deg er: pass in quick on fxp0 tagged USER1 keep state "keep state" er et argument som gjør regelen dynamisk. Det har ikke så mye for seg i dette tilfellet, da den eneste regelen du har går på MAC. Derimot, la oss si at du hadde sagt drop in on dc0 drop out on dc0 drop in on fxp0 drop out on fcp0 pass in quick on fxp0 proto tcp from any to any port 80 keep state pass out quick on dc0 proto tcp from any to any port 80 keep state Ville dette tillate all webtrafikk mot Internett, og regler ville automatisk bli laget for tilhørende trafikk som f. eks. repons fra webtjeneren etc. Jeg vil anbefale deg å begynne å grave deg godt ned i FAQs og howtos om PF, det meste lar seg gjøre, og syntax/brukervennlighet er et godt stykke over tilsvarende brannmurer som IPFW og IPTABLES:) Lenke til kommentar
Gjest Slettet+432 Skrevet 30. desember 2006 Del Skrevet 30. desember 2006 Det er viktig at du klarer å se for deg trafikkflyten gjennom gatewayen. Vi tar for oss fxp0 som har en kabel til AP2. Hvis vi snakker om "out on fxp0" betyr det trafikk fra fxp0 og til AP2. Snakker vi om "in on fxp0" betyr det da fra AP2 og til fxp0.Dvs. ønsker du å sette opp MACfiltrering på fxp0, vil du altså ikke være interessert i at alle tilkoblet AP2 får kontakt med fxp0, men kun de som har riktige MAC adresser. Som jeg nevnte tidligere kan du lese om MAC filtrering her: http://www.openbsd.org/faq/pf/tagging.html Nederst på den siden står den greit forklart hvordan du kan "tagge" visse kriterier for bridgen din, og videre hvordan du bruker denne taggingen videre i pf.conf. (Det er der jeg hentet "USER1" fra. Det som da blir riktig for deg er: pass in quick on fxp0 tagged USER1 keep state "keep state" er et argument som gjør regelen dynamisk. Det har ikke så mye for seg i dette tilfellet, da den eneste regelen du har går på MAC. Derimot, la oss si at du hadde sagt drop in on dc0 drop out on dc0 drop in on fxp0 drop out on fcp0 pass in quick on fxp0 proto tcp from any to any port 80 keep state pass out quick on dc0 proto tcp from any to any port 80 keep state Ville dette tillate all webtrafikk mot Internett, og regler ville automatisk bli laget for tilhørende trafikk som f. eks. repons fra webtjeneren etc. Jeg vil anbefale deg å begynne å grave deg godt ned i FAQs og howtos om PF, det meste lar seg gjøre, og syntax/brukervennlighet er et godt stykke over tilsvarende brannmurer som IPFW og IPTABLES:) 7603441[/snapback] Tusen takk! pf er genialt da, slipper alle de der parameterne som vi har i iptables, f els iptables -n dott -p er3e4 -d ditt -a datt. Sinnsykt ¨å holde styr på Lenke til kommentar
Zerge Skrevet 30. desember 2006 Del Skrevet 30. desember 2006 helt klart. Jeg gikk fra IPFW til PF, og i ettertid bruker jeg også IPTABLES på noen tjenester som jeg må bruke Linux til. Helt forferdelig i forhold:) Vi får bare be og håpe på at de som har peil på slikt jobber med å porte PF eller kode noe tilsvarende for andre operativsystemer:) Lenke til kommentar
Gjest Slettet+432 Skrevet 30. desember 2006 Del Skrevet 30. desember 2006 (endret) Hm... Under oppstart får jeg: /etc/pf.conf: 7: Syntax error /etc/pf.conf: 8: Syntax error /etc/pf.conf: 10: Syntax error pfctl: Syntax error in config file: pf rules not loaded Min /etc/pf.conf ser slik ut nå: # $OpenBSD: pf.conf,v 1.31 2006/01/30 12:20:31 camield Exp $ # # See pf.conf(5) and /usr/share/pf for syntax and examples. # Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1 # in /etc/sysctl.conf if packets are to be forwarded between interfaces. pass all in on dc0 pass all out on dc0 drop all in on fxp0 pass all out on fxp0 # MAC-filtrering pass in on fxp0 tagged USER1 pass in on fxp0 tagged USER2 Hva er galt? Jeg tok backup av originalfilen, men den hadde vel ikke noe å si uansett, alt var kommentert ut... Edit: Kjørte brconfig bridge0 rule pass in on fxp0 src 0:de:ad:be:ef:0 tag USER1 før reboot, men den forsvinner etter reboot... Hvorfor det? Edit2: Kommer ikke inn via SSH og den svarer ikke på ping lenger.. Hehe. EDIT: Fant ut at du hadde skrevet litt feil Det er "pass out on dc0" (osv) og block in on fxp0. Altså ikke all og ikke drop. Nå svarer den på ping og SSH også, etter at jeg fikk startet pf. Lurer fortsatt på hvordan jeg får "lagret" mac-adressene så de fortsatt er tillatt etter reboot? EDIT: Nå fikk jeg det til, alt funker.. Utenom squid. Under oppstart får jeg "Terminated ABNORMALLY!". Har ikke gjort noe med det, noen peiling på hva jeg må gjøre egentlig? Endret 30. desember 2006 av Slettet+432 Lenke til kommentar
Gjest Slettet+432 Skrevet 30. desember 2006 Del Skrevet 30. desember 2006 (endret) Okey.. Trenger ikke proxy, fant ut av det nå Har et lite problem her.. På min bror sin M$ Win XP maskin er alt satt opp på DHCP. Den kobler til og får IP-adresse (så sant MAC adressen er godkjent), og alt funker. Så prøver jeg med Powerbooken min. Den får IP. Men det står at den ikke er tilkoblet internett, og jeg kommer ikke inn på noen nettsider.. Prøver først å pinge AP2. Svar der. Så prøvde jeg å pinge fxp0 (192.168.1.16). Ikke noe svar der (fant ut i ettertid at den har sluttet å svare på ping fra XP maskinen også, men det funker der selv om), og heller ikke noen andre ting utenfor gatewayen. Hvorfor er det slik? Noe jeg kan gjøre for at det skal funke? Vil gjerne koble meg på der jeg også av og til, fordi AP2 står nærmere stuen og da slipper jeg å laste filmer over på maskinen for å se på TV, heller bare streame fra server. Output av brconfig: # brconfig bridge0: flags=41<UP,RUNNING> Configuration: priority 32768 hellotime 2 fwddelay 15 maxage 20 Interfaces: fxp0 flags=3<LEARNING,DISCOVER> port 1 ifpriority 128 ifcost 55 pass in on fxp0 src 00:03:2f:26:3f:08 tag AP2 pass in on fxp0 src 00:50:fc:bc:f6:b4 tag MIKAEL pass in on fxp0 src 00:11:24:21:93:5f tag ALEKS dc0 flags=3<LEARNING,DISCOVER> port 2 ifpriority 128 ifcost 55 Addresses (max cache: 100, timeout: 240): 00:11:24:21:93:5f dc0 1 flags=0<> 00:00:c5:92:95:b8 dc0 1 flags=0<> 00:50:fc:bc:f6:b4 fxp0 0 flags=0<> 00:16:cb:a0:c6:09 dc0 1 flags=0<> 00:03:2f:26:3f:08 fxp0 1 flags=0<> Innhold i pf.conf: # $OpenBSD: pf.conf,v 1.31 2006/01/30 12:20:31 camield Exp $ # # See pf.conf(5) and /usr/share/pf for syntax and examples. # Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1 # in /etc/sysctl.conf if packets are to be forwarded between interfaces. pass in on dc0 pass out on dc0 block in on fxp0 pass out on fxp0 # Mac-adresse filtrering pass in on fxp0 tagged AP2 pass in on fxp0 tagged MIKAEL pass in on fxp0 tagged ALEKS Endret 30. desember 2006 av Slettet+432 Lenke til kommentar
Zerge Skrevet 30. desember 2006 Del Skrevet 30. desember 2006 Ved nærmere ettertanke bør du åpne for utgående både på dc0 og fxp0 pass out on fxp0 keep state pass out on dc0 keep state I tillegg må du muligens også åpne opp for sshd, jeg er sannelig ikke sikker på hvor effektiv den MAC filtreringa egentlig er. Og, mulig du kan tjene på å kjøre en "scrub in all" i starten av pf.conf, for å påse at kun komplette nettverkspakker kommer videre i brannmuren. Fragmenterte pakker kan bety litt trøbbel når det gjelder å gjenkjenne dem. Jeg har dårlig tid nå, men slenger med min sist brukte pf.conf. Oppsettet der er som følger: fxp0 - internett fxp1 - trådløst re0 - arbeidsstasjon Maskiner som kobler seg til det trådløse "åpne" nettverket får kun tilgang til dns servere, port 80 (men da blir alt redirected til den lokale serveren) og en vpn server som kjører på port XXXXXX. Poenget er det at brukere som kobler seg til uten lov, får opp samme webside uansett hva de prøver å komme seg inn på, som forteller dem at de bare har å holde seg unna. Autoriserte brukere kobler seg opp via vpn, og får således tilgang til Internett, og de har automatisk også en del porter forwardet videre til seg. Klikk for å se/fjerne innholdet nedenfor ext_if="fxp0"int_if="fxp1" vpn_if="tun0" pc_if="re0" bri_if="bridge0" loc_net="192.168.0.0/24" vpn_net="172.30.0.0/24" dns1="xxx.xxx.xxx.xxx" dns2="xxx.xxx.xxx.xxx" scrub in all altq on fxp0 cbq bandwidth 1024Kb queue { http_out, ftp_out, ssh_out, icmp_out, annet_out } queue http_out bandwidth 10% priority 5 cbq(red borrow) queue ftp_out bandwidth 10% priority 3 cbq(red borrow) queue ssh_out bandwidth 5% priority 7 cbq(ecn borrow) queue annet_out bandwidth 50% priority 2 cbq(default red) queue icmp_out bandwidth 1% priority 6 cbq(ecn) nat on $ext_if from $loc_net -> ($ext_if:0) nat on $ext_if from $vpn_net -> ($ext_if:0) rdr on $int_if inet proto tcp from any to any port www -> $ext_if:0 port www rdr on $ext_if inet proto tcp from any to $ext_if:0 port 51000:53000 -> 172.30.0.70 port 51000:* rdr on $ext_if inet proto udp from any to $ext_if:0 port 51000:53000 -> 172.30.0.70 port 51000:* rdr on $ext_if inet proto tcp from any to $ext_if:0 port 55000:57000 -> 172.30.0.80 port 55000:* rdr on $ext_if inet proto udp from any to $ext_if:0 port 55000:57000 -> 172.30.0.80 port 55000:* rdr on $ext_if inet proto tcp from any to $ext_if:0 port 59000:61000 -> 172.30.0.90 port 59000:* rdr on $ext_if inet proto udp from any to $ext_if:0 port 59000:61000 -> 172.30.0.90 port 59000:* rdr on $ext_if inet proto tcp from any to $ext_if:0 port 40000:50000 -> 172.30.0.100 port 40000:* rdr on $ext_if inet proto udp from any to $ext_if:0 port 40000:50000 -> 172.30.0.100 port 40000:* block in on $ext_if pass out on $ext_if keep state block in on $int_if pass out on $int_if keep state pass in on $vpn_if pass out on $vpn_if pass in on $pc_if pass out on $pc_if pass in quick on $ext_if inet proto tcp to $ext_if:0 port XXXXXX keep state pass in quick on $ext_if inet proto {tcp, udp} to $vpn_net port 40000:61000 keep state pass in quick on $vpn_if inet proto tcp from $vpn_net to any port http flags S/SA keep state queue http_out pass in quick on $vpn_if inet proto tcp from $vpn_net to any port ftp flags S/SA keep state queue ftp_out pass in quick on $vpn_if inet proto tcp from $vpn_net to any port { ssh, 3389 } flags S/SA keep state queue ssh_out pass in quick on $vpn_if inet from $vpn_net to any keep state queue annet_out pass in quick on $vpn_if inet proto icmp all keep state queue icmp_out pass in quick on $int_if proto tcp from any to any port www pass in quick on $int_if proto udp from any to any port bootpc keep state pass in quick on $int_if proto udp from $loc_net to { $dns1, $dns2 } port domain keep state pass in quick on $int_if proto tcp from $loc_net to $ext_if:0 port XXXXXX keep state Lenke til kommentar
Gjest Slettet+432 Skrevet 30. desember 2006 Del Skrevet 30. desember 2006 (endret) Kommer fortsatt ikke gjennom med den andre datamaskinen... Og vil helst ikke ha noe VPN greier:p Endret 30. desember 2006 av Slettet+432 Lenke til kommentar
Zerge Skrevet 30. desember 2006 Del Skrevet 30. desember 2006 Vel, da vet ikke jeg mer om det emnet. Som sagt, mac filtrering er så og si det samme som et åpent nettverk da hvem som helst kan skifte mac adresser bare ved å gå inn og endre i egenskapene for nettverkskortet :/ Lenke til kommentar
Gjest Slettet+432 Skrevet 30. desember 2006 Del Skrevet 30. desember 2006 Vel, da vet ikke jeg mer om det emnet. Som sagt, mac filtrering er så og si det samme som et åpent nettverk da hvem som helst kan skifte mac adresser bare ved å gå inn og endre i egenskapene for nettverkskortet :/ 7608468[/snapback] Ok. Ja, vet igrunn det. Tror ikke det går an å gjøre i Windows out-of-the-box da men.. Hehe. Jeg får kanskje se på VPN løsningen. Lenke til kommentar
Gjest Slettet+432 Skrevet 2. januar 2007 Del Skrevet 2. januar 2007 (endret) OK, nå har jeg satt inn enda et nettverkskort sånn at jeg har tre i maskinen. Valgte å gå for din løsning. Det er vel tre kort du bruker? Uansett, vet ikke hvordan jeg skal gjøre det da. Skal jeg sette alle tre kortene inn i bridge eller noe? Slik er det koblet: dc0 - inn fra resten av nettverket fxp0 - ut til mitt nettverk rl0 - ut til aksesspunkt Legger ved et bilde av slik det er koblet nå, og slik det er planlagt (VPN..) Edit: Et problem til her.. Fra jeg skriver ssh 192.168.1.10 til jeg får opp passord prompt går det over 1 minutt. Hva er galt? Endret 2. januar 2007 av Slettet+432 Lenke til kommentar
stigfjel Skrevet 7. januar 2007 Del Skrevet 7. januar 2007 (endret) Det er en ting jeg stusser på med det oppsettet ditt: hvorfor står ikke BSD-brannmuren først, altså at Netopia-routeren kommer først, så OpenBSD-boksen, og deretter resten av nettverket? Slik det er satt opp nå er det flere maskiner som står mellom brannmuren og Netopia routeren. Dette er vel galt, og ikke slik jeg ville satt det opp. Endret 7. januar 2007 av stigfjel Lenke til kommentar
Gjest Slettet+432 Skrevet 8. januar 2007 Del Skrevet 8. januar 2007 Det er en ting jeg stusser på med det oppsettet ditt: hvorfor står ikke BSD-brannmuren først, altså at Netopia-routeren kommer først, så OpenBSD-boksen, og deretter resten av nettverket? Slik det er satt opp nå er det flere maskiner som står mellom brannmuren og Netopia routeren. Dette er vel galt, og ikke slik jeg ville satt det opp. 7668878[/snapback] Fordi faren min hater at det må stå maskiner på for at noe skal funke, og han nekter å la meg ha en maskin på hele tiden. derfor setter jeg den heller opp mellom internett og "mitt" nettverk.. Lenke til kommentar
Gjest Slettet+432 Skrevet 14. januar 2007 Del Skrevet 14. januar 2007 Ingen som kan svare? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå