DNS feloldas - OpenBSD

Fórumok

Hi all!

Az lenne a problemam hogy az openbsd routerem nem akkarja feloldani a neveket a named.bootba meg adtam amit a szolgaltatol kaptam.Ez eddig OK.De a helyi halon van DNS mivel van sajatom mondjuk itthon.local ez müködik testelve.DHCPvel osztja ki a fix ip-t ez is muxik.A gepem kap netett a routertol pingelni tudok kifele csak a neveket nem oldja fel es az oldalak se jonnekbe ipre.A routeren sincs nev feloldas.Ha kell 1-2 konfigot mellekelek.

Hozzászólások

Ext = "tun0"
Int = "rl0"
Loop = "lo0"
IntNet = "10.100.240.0/24"

NoRoute = "{ 127.0.0.1/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 255.255.255.255/32 }"

InServicesTCP = "{ ssh , smtp, auth, http, https, pop3, ssh auth }"
InServicesUDP = "{ domain }"
OutServicesTCP = "{ http , https, smtp, pop3, imap, whois, domain, ssh, telnet, ftp, ftp-data, nntp, auth, rsync, 1863, 5190, 8880 }"
OutServicesUDP = "{ ntp, domain }"

XMMS = "{ 6000, 7500, 8000, 8004, 8044, 8034, 8052, 8038, 8010, 8400, 8014, 8026, 8048, 8002, 8024, 8028, 8080 }"
RealAudio = "{ 554, 7070, 8080 }"
IRCports = "{ 6667, 6666, 6668, 6669 }"
# irc.hu papucs.vagyok.hu irc.sote.hu extra.irc.hu
IRCservers = "{ 157.181.1.129, 192.188.242.121, 193.224.51.150, 195.70.37.253}"
FreeNodeIRCServers = "{ 128.193.0.29 128.193.0.47 130.239.18.172 208.185.243.68 213.28.116.205 82.96.64.2 }"

#CVSup hosts: cvsup.hu.freebsd.org cvsup.uk.openbsd.org cvsup.hu.openbsd.org
CVSupServers = "{ 193.225.13.161, 194.242.157.43, 152.66.243.8 }"
CVSupPorts = "{ 5999 }"

JabberPorts = "{ 5222, 5223 }"

DynDNSServer = "{ 63.208.196.94 }"
DynDNSPorts = "{ 8245 }"

FreeDBhosts = "{ 64.71.163.204, 130.179.31.49, 193.166.235.14, 193.201.200.74, 195.37.77.133, 203.16.234.30 }"
FreeDBports = "{ 888 }"

#----------------------------------------------------------------------
scrub in on { $Ext, $Int } all

#----------------------------------------------------------------------
altq on $Ext priq bandwidth 100Kb queue { q_pri, q_def }
queue q_pri priority 7
queue q_def priority 1 priq(default)

pass out on $Ext proto tcp from $Ext to any flags S/SA keep state queue (q_def, q_pri)
pass in on $Ext proto tcp from any to $Ext flags S/SA keep state queue (q_def, q_pri)
#----------------------------------------------------------------------
# Defaults
# block and log everything
block out log on $Ext all
block in log on $Ext all
block return-rst out log on $Ext proto tcp all
block return-rst in log on $Ext proto tcp all
block return-icmp out log on $Ext proto udp all
block return-icmp in log on $Ext proto udp all

block in quick inet6 all
block out quick inet6 all
#----------------------------------------------------------------------

#----------------------------------------------------------------------
# loopback packets left unmolested
pass in quick on $Loop all
pass out quick on $Loop all
#---------------------------------------------------------------------
# Immediate blocks
# fuzz any 'nmap' attempt
block in log quick on $Ext inet proto tcp from any to any flags FUP/FUP
block in log quick on $Ext inet proto tcp from any to any flags SF/SFRA
block in log quick on $Ext inet proto tcp from any to any flags /SFRA

# don't allow anyone to spoof non-routable addresses
block in log quick on $Ext from $NoRoute to any
block out log quick on $Ext from any to $NoRoute

# silently drop broadcasts (cable modem noise)
block in quick on $Ext from any to 255.255.255.255
#---------------------------------------------------------------------

#--------------------------------------------------------------------
# PASS rules

# ALL -- we don't normally do that. For debugging only
#pass out quick on $Ext all keep state
# pass in date mode connections for ftp-proxy running on this host
pass in quick on $Ext inet proto tcp from any to any port > 49151 flags S/SA keep state

# ICMP
pass out quick on $Ext inet proto icmp all icmp-type 8 code 0 keep state
pass in log quick on $Ext inet proto icmp all icmp-type 8 code 0 keep state

# Services we provide to the outside world
pass in quick on $Ext inet proto udp from any to any port $InServicesUDP keep state
pass in quick on $Ext inet proto tcp from any to any port $InServicesTCP flags S/SA keep state

# Special services
pass out quick on $Ext inet proto tcp from any to any port $XMMS flags S/SA modulate state
pass out quick on $Ext inet proto tcp from any to any port $RealAudio flags S/SA modulate state

# CVSup to cvsup.hu.freebsd.org
pass out quick on $Ext inet proto tcp from any to $CVSupServers port $CVSupPorts flags S/SA modulate state

# Time server we use: time.kfki.hu (148.6.0.1)
pass out quick on $Ext inet proto tcp from any to 148.6.0.1 port time flags S/SA modulate state

# Hungarian IRC servers:
pass out quick on $Ext inet proto tcp from any to $IRCservers port $IRCports flags S/SA modulate state
# FreeNode IRC servers
pass out quick on $Ext inet proto tcp from any to $FreeNodeIRCServers port $IRCports flags S/SA modulate state

# FreeDB acces:
pass out quick on $Ext inet proto tcp from any to $FreeDBhosts port $FreeDBports flags S/SA modulate state

# Jabber communication:
pass out quick on $Ext inet proto tcp from any to any port $JabberPorts flags S/SA modulate state

# DynDNS.org update
pass out quick on $Ext inet proto tcp from any to $DynDNSServer port $DynDNSPorts flags S/SA modulate state

# BitTorrent connections
pass out quick on $Ext inet proto tcp from any to any port { 6880><6889,6969 } flags S/SAFR keep state
pass in quick on $Ext inet proto tcp from any to any port 6880><6889 flags S/SAFR keep state

# Other pss rules with anchor...
#anchor passin

Nem vágom a topológiát...

Ja, és minek a

OutServicesTCP = "{ http , https, smtp, pop3, imap, whois, domain, ssh, telnet, ftp, ftp-data, nntp, auth, rsync, 1863, 5190, 8880 }"
OutServicesUDP = "{ ntp, domain }"

ha úgysincs későbbi referencia?
Nekem mondjuk az egész config paranoidnak tűnik...

A problema nemtom hol van de nem biztos hogy DNSel mivel belso halon faszon muxik.

Lehet hogy paranoid de nemtom ossze hasonlitani masseval be tudnal dobni egyett hogy meg nezzem azzal ?

Na arra rajöttem mar hogy meg csinaltam a DNS feloldas a kov problema hogy nincs ip forward vagyis csak felig meddig , csak a ping megy na most a sysctlbe meg van kapcsolva az ipforward kell még vmi ?

Amugy ki van komentezve anchor passin sor , nem tartalmaz semmit.

"# Services we provide to the outside world
pass in quick on $Ext inet proto udp from any to any port $InServicesUDP keep state
pass in quick on $Ext inet proto tcp from any to any port $InServicesTCP flags S/SA keep state"

Itt a hiba az egészben. Összecserélted az InServices-t meg az OutServices-t. Az előbbi a külvilág felé nyújt szolgáltatásokat, ez egy olyan konfig szabályrendszere. (Én is megtaláltam már korábban a neten.) Neked az OutServices kellene. És mivel "pass in"-t adtál meg, befelé bejöhet ezeken akárki, míg kifelé nem engedélyeztél semmit. Hogy mégis működik valamennyire, az a következő szabályoknak köszönhető:

"pass out on $Ext proto tcp from $Ext to any flags S/SA keep state queue (q_def, q_pri)
pass in on $Ext proto tcp from any to $Ext flags S/SA keep state queue (q_def, q_pri)"

Egyedül itt engedélyeztél kifelé menő forgalmat, de csak TCP-re, UDP-t nem. Ezért nem tud kimenni a DNS feloldás a szolgáltató name servereihez. Vagy írd át az InServices-t Outservices-re, vagy a pass in szabályok mellé vegyél fel pass out szabályokat is, pl:

pass out quick on $Ext inet proto udp from any to any port $InServicesUDP keep state
pass out quick on $Ext inet proto tcp from any to any port $InServicesTCP flags S/SA keep state

És még valami:

"# Time server we use: time.kfki.hu (148.6.0.1)
pass out quick on $Ext inet proto tcp from any to 148.6.0.1 port time flags S/SA modulate state"

a time és az ntp nem ugyanaz! Portnak time-ot adtál meg és TCP-t, de ntp és UDP kellene. És a time.kfki.hu-t csak akkor tudod használni, ha korábban egy mailben bejelented. Nézz körül itt, vannak publikus bejelentés nélküli NTP szerverek.
http://ntp.isc.org/bin/view/Servers/StratumTwoTimeServers

> És a time.kfki.hu-t csak akkor tudod használni, ha korábban egy mailben bejelented.
Most csak ehhez szólok hozzá. Lehet, hogy hivatalosan így van, de én kb 1/2 éve használom bejelentés nélkül. Ezzel szemben van hivatalos publikus stratum1 és st-2 szerver még Mo-n: time1.niif.hu és time2.

Kösz Zahy, ezekről nem tudtam. A webes listán nem volt rajta egyik sem. A time.kfki.hu-ra visszatérve, én próbáltam azt használni korábban, de egyszer se szinkronizált nekem időt. Nemrég újrakonfigoltam az ntpd-t, és amikor újra megnéztem a listát, akkor láttam hogy Notify kell hozzá, ezért választottam mást. De akkor jók lesz a niif.hu szerverei, feltéve, hogy OpenAccess mindkettő...

Köszi! Írtam az ucso hozza szolasomba a ipforwardot csak az az egy kapcsolo kell amit irtam vagy meg kell mas is ?

Tehát ADSL? Akkor arra figyelj, hogy a net előbb legyen elindítva mint ahogy a pf szabályok betöltődnek. Különben nem tudja feloldani a szabálylistában található DNS neveket és semmiféle szabály nem fog betöltődni.

A named.conf-ba mindent jól állítottál be? Forwarders részre gondolok elsősorban. Nézd meg ezt az oldalt, segíthet. (Ha korábban nem ismerted volna.)
http://www2.papamike.ca:8082/tutorials/pub/dns/obsd_dns1.html

Az jol van beallitva mert belso halon muxik.Be masoljam ?

A named.conf-ra gondolt. De a belső háló egy dolog, ha a forward résznél nincs vagy nem jól van beállítva a szolgáltatód névszerei, kifelé nem fog menni a DNS. Az a gond ezzel a ruleset-el, hogy nem te raktad össze, hanem megnézted valahol és megpróbáltad átalakítani saját magadnak, így nehezebb lesz. A NAT és RDR szabályok hogy néznek ki? Másold be azokat is pls.

forward helyere be vannak írva a szolgaltatol kapott DNSek.Igen ezt a HUP wikibol szedtem a konfokat ott volt egy leiras , de valami alapjan csak el kellet indulnom.

Ext = tun0
nat on $Ext from 10.100.240.0/24 to any -> $Ext
rdr on rl0 proto tcp from any to any port 21 -> 127.0.0.1 port 8081
rdr on $Ext proto tcp from any to any port 5865 -> 192.168.0.2 port 22
rdr on $Ext proto tcp from any to any port 6881:6889 -> 192.168.0.2 port 6881:*

Néhány dolgot nem értek:

Az RDR szabályokban van egy 192.168.0.2-es gép, de ilyen a szabálylistában sehol nincs. Milyen interface-re csatlakozik? Ha van még egy privát hálózat a tűzfal mögött, azt is fel kell venned a NAT szabályok közé. pl:

nat on $Ext from any to any -> ($Ext)

zárójel a dinamikus IP miatt jó lehet.

"rdr on $Ext proto tcp from any to any port 5865 -> 192.168.0.2 port 22"
Ez így kevés, mert sehol nem látok olyan szabályt amiben az 5865-ös TCP-t kinyitnád. Önmagukban az rdr szabályok még nem jelentik azt, hogy a csomag át fog menni a tűzfalon. Ehhez kellenek külön tűzfal szabályok is, amik átengedik, vagy az "rdr pass"-t is használhatod, azaz az rdr mögé beszúrod a pass kulcsszót és akkor automatikusan átengedi a csomagot.

"rdr on rl0 proto tcp from any to any port 21 -> 127.0.0.1 port 8081"

ftp-proxy -t engedélyezted az inetd.conf-ból -n kapcsolóval?

De ez így eléggé kaotikusnak tűnik.

http://www2.papamike.ca:8082/main/
http://www2.papamike.ca:8082/tutorials/pub/obsd_pf.html

Javaslom hogy nézd meg ezeket a linkeket! Nagyon jó, szemléletes és részletes leírások vannak rajta, hogyan kell beállítani a netet OpenBSD alá. És az elejétől fogva végigvezet a pf szabályok megalkotásán, inkább ez alapján csinálj egy szabályrendszert, ne sajnáld rá az időt. És érteni fogod, mi hogyan és miért történik. Ha még valami mindig nem akar menni, logold a tűzfalon a forgalmat:

tcpdump -neq -ttt -i pflog0

és nézd meg, mikor melyik szabály akadályozza meg hogy működjön.

Köszi skacok elolvasom őket bar jobb lenne ha magyar azt kicsit konyebb lene meg erteni de igy is jo csak tovabb tart. :) De aki olvas az tanul :D

Pontosan! :-)
De papamike doksijai nagyon jók. Én is ezzel kezdtem még 2 éve, amikor először felraktam az OpenBSD-t. Nem akkora gond szerintem hogy nem magyar, mivel eléggé személetes és részletes. http://openbsd.org/hu/index.html itt is van néhány magyar fordítása a FAQ-nak, csak sajnos már outdated a legtöbbje. Azért még használhatók.
Még egy oldal amit ajánlok figyelmedbe:
http://openbsdsupport.org/

Itt is vannak hasznos írások.

Hi all!

Köszönöm mindenkinek aki hozzaszolt sikerült meg csinalnom. :)
Reszben nektek köszönhetem a megoldast itt szuletett meg csak a befele forgalmat engedtem a kifelet nem most mind1 megy ezt nektek köszönöm hetem.Ezzel en is csatlakoztam az openbsd nepes taborahoz. :)

Meg lesz köszi:).Mar csak ezzel az FTPvel lesz amugy minden frankon megy :).
ftp-proxyra elvileg natoltam a dolgokat de meg nem megy.Te hogy oldotad meg ?:)

Tevedtem megis muxik.Csak ha bongeszebol akkorok ftpre konnectalni akkor nem jo. Na erre megoldas?:) en meg 3.8nal tartok :)

Mind1 hogy 3.8 vagy 3.9.
Javaslom, használj passive ftp-t.
Ez az én szabályrendszerem:

# allow firewall to contact ftp server on behalf of passive ftp client
# on control port 21
pass out on $ext_if \
inet proto tcp \
from ($ext_if) to any \
port 21 \
flags S/AUPRFS modulate state \

# allow firewall to contact ftp server on behalf of passive ftp client
# on standard unprivileged port range ( > 1024 )
pass out on $ext_if \
inet proto tcp \
from ($ext_if) to any \
port > 1024 \
flags S/AUPRFS modulate state \

ugyanezt megtalálod papamike leírásaiban:
http://www2.papamike.ca:8082/tutorials/pub/obsd_ftp.html

ezzel nekem simán műxik böngészőből is, és biztonságosabb is mint az active ftp. Ha módod van rá, inkább passive ftp.

De mondjuk nálam a belső kliens-eknek is külön hozzáférésük van a belső interface-ről.

Mármint passzívra, akarod mondani. :-) Szerencsére olyan ftp szerverrel nem találkoztam, ami csak az aktívat támogatta volna. Kivéve amikor a virusbuster kliensek csak aktív ftp-vel voltak hajlandóak frissíteni magukat. Amúgy nekem is benne van a ruleset-ben az aktív, csak nincs bekapcsolva, és az ftp-proxy-t se használom a passzívhoz.

De lehet. :-)
A korábbi ftp-proxy-t is lehetett passzív módban használni.
Azonban most a 3.9-től lecserélték az ftp-proxy-t és sokkal többet tud mint az elődje. Ráadásul nem kell külön szórakozni aktív-passzív beállítással, ő anchor-okkal behúzva megoldja az egészet. :-) Azt hiszem, be is fogom állítani. :-)