Menü
Ingyenes
bejegyzés
itthon  /  TOVÁBB/ Az alapértelmezett átjáró freebsd módosítása. FreeBSD Router beállítása

Az alapértelmezett átjáró freebsd módosítása. FreeBSD Router beállítása

Bevezetés == Röviden szeretném felvázolni azt a tervet, amit érdemes követni, hogy az interneten az irodai kurzus megfelelő legyen, és senki ne kószáljon félre. Azonnal megjegyzem, hogy a Unix átjárója nem egy program, hanem egy tucat program, amelyek mindegyike saját műveletet hajt végre, és saját beállításai vannak. Használjuk: * FreeBSD 7 * natd * elnevezett, irányított * ipfw * squid * squidGuard * apache * dhcpd Saját teszt szerver már bent van helyi hálózat szóval ezt elhiszem külső hálózat Nekem 192.168.0.0/24 van, a belsőé pedig 172.16.0.0/16. A számok végül is nem számítanak - a lényeg a jelentés. A FreeBSD-t minimális konfigurációban telepítettem, és az rc.conf fájlom csak a következőket tartalmazza: hostname = "vm = freepro.local" ifconfig_em0 = "DHCP" linux_enable = "YES" sshd_enable = "IGEN"== A NAT konfigurálása == A külső interfészem - em0 - alapértelmezés szerint DHCP-n keresztül kapja az IP-címét egy 192.168.1.1-es címmel rendelkező normál útválasztótól. Nyilvánvaló, hogy ugyanaz az útválasztó működik DNS-kiszolgálóként. Első lépésben NAT-ot csinálok (mindig a külső felületen!), és módosítom az /etc/rc.conf fájlt a következőképpen: hostname = "vm = freepro.local" defaultrouter = "192.168.1.1" ifconfig_em0 = "inet 192.168.1.10 hálózati maszk 255.255.255.0" linux_enable = "YES" sshd_enable = "YES" sshd_enable = "YES" .0.0 "gateway_enable =" YES "natd_enable =" YES "natd_interface =" em0 "#natd_flags =" - f /etc/redirect.conf "firewall_enable =" YES "firewall_type =" "#firewall_script =" / etc / firewall megnyitása. conf "router_enable =" IGEN "router =" / sbin / routed "router_flags =" - q " Javítottam a külső címet és beállítottam a belsőt. Most javítsuk ki a DNS-t az /etc/resolv.conf fájlban: nameserver 192.168.1.1 Ez az! Elkezdjük a szolgáltatást: # /etc/rc.d/ipfw start # /etc/rc.d/natd start # /etc/rc.d/routed start # /etc/rc.d/named startÉs az internet működik! Természetesen kézzel írjuk fel az ügyfélnek: IP: 172.16.0.2 MASZK: 255.255.0.0 GATE: 172.16.0.1 DNS1: 192.168.1.1 Természetesen ez egy nagyon rossz átjáró. Egyrészt egyáltalán nincs védve, másodszor pedig egyáltalán nincs gyorsítótárban, harmadszor pedig minden DNS-kérést "felfelé" irányít át, és nincs mód semmilyen statisztikára vagy bármi kezelésére. De másrészt ez egy nagyon könnyű és gyors átjáró, és további beállításoktól a teljesítménye csak nő, nem csökken. Egyébként vegye figyelembe, hogy két sor már ki van írva az új rc.conf-ban. Az első megjegyzés - segít a jövőben "továbbítani" néhány portot kívülről - a hálózaton belül. Azok. Például, ha ssh-n keresztül szeretnék elérni a 172.16.0.2-es ügyfélszámítógépet, akkor létre kell hoznom egy ilyen fájlt: # FÁJL /etc/redirect.conf redirect_port tcp 172.16.0.2:22 2222 Ez azt jelenti, hogy amikor a 2222-es porton kívül csatlakozom a szerverhez, akkor csak a 22-es porton (ssh) jutok el a géphez a helyi hálózaton. A második megjegyzés a személyes tűzfalkonfigurációm, kiélezett és tesztelt. == Az ipfw beállítása == Saját konfigurációm az ipfw-hez at ezt a szakaszt ez így néz ki: #! / bin / sh # IPFW konfiguráció egy egyszerű NAT-kiszolgálóhoz /etc/firewall.conf cmd = "/ sbin / ipfw -q" IfOut = "em0" IpOut = "192.168.1.10" NetOut = "192.168.1.0/24 "IfIn =" em1 "IpIn =" 172.16.0.1 "NetIn =" 172.16.0.0/16 "########################### # #################### # Clear ########################## # ###################### $ (cmd) -f flush $ (cmd) table 0 flush $ (cmd) asztal 1 flush ##### # ################################################# # # Whitelist / Blacklist # ############################################ #### $ (cmd) táblázat 0 hozzáadás 172.16.0.12 $ (cmd) 1. táblázat hozzáadás 172.16.0.13 ########################### #### #################### # Loopback ######################### #### #################### $ (cmd) add engedélyezi az ip-t bármelyikről bármelyikre a lo0-n keresztül ############# #### ################################ # Világ letiltása privátra ######### ### ###################################### $ (cmd) add deny ip from tetszőleges 127.0 .0.0 / 8 $ (cmd) deny ip hozzáadása 127.0.0.0/8-tól bármely # $-hoz (cmd) deny ip hozzáadása 172.16.0.0/16-tól tetszőlegeshez $ (IfOut) # $ (cmd) add d eny ip 192.168.1.0/24-től tetszőlegeshez $ (IfOut) $ (cmd) deny ip hozzáadása tetszőlegestől 10.0.0.0/8-hoz $ (IfOut) keresztül # $ (cmd) deny ip hozzáadása bármelyikhez 172.16.0.0/ 12 $ (IfOut) # $ (cmd) deny ip hozzáadása tetszőlegesről 192.168.0.0/16-hoz $ (IfOut) $ (cmd) deny ip hozzáadása tetszőlegestől 0.0.0.0/8-hoz $ (IfOut) $ (cmd) segítségével ) add meg a deny ip-t bármelyikhez a 169.254.0.0/16-hoz $ (IfOut) $-on (cmd) add deny ip-t bármelyikhez a 192.0.2.0/24-hez $ (IfOut) keresztül $ (cmd) add deny ip-t bármelyikhez 224.0.0.0-hoz / 4 $ (IfOut) $-on keresztül (cmd) add meg a deny ip-t bármelyiktől 240.0.0.0/4-hez $ (IfOut) keresztül ####################### ################################### # ICMP ############# ######### ############################## $ (cmd) add meg a deny icmp parancsot bármelyiktől bármelyikhez frag $ (cmd) add meg a deny log icmp-t bármelyikről 255.255.255.255 bemenetre $ (IfOut) $ (cmd) függvényen keresztül ########### ############################### # NAT ###### ########### ################################# $ (cmd) átirányítás hozzáadása 8668 ip $-ról (NetIn) bármely $-on keresztül (IfOut) $ (cmd) add átirányítás 8668 ip-t bármelyikről $-ra (IpOut) $-on keresztül (IfOut) # $ (cmd) add átirányítás 8668 ip-t bármelyikről bármelyikre $ (IfOut) keresztül ######################## ########################## # Privát letiltása a világ számára ################### # ############################# $ (cmd) add meg a deny ip-t 10.0.0.0/8-tól bármely $ ( IfOut ) # $ (cmd) deny ip hozzáadása 172.16.0.0/12-től bármely $-on keresztül (IfOut) # $ (cmd) deny ip hozzáadása 192.168.0.0/16-tól bármely $-on keresztül (IfOut) $ (cmd) deny hozzáadása ip 0.0.0.0/8-tól tetszőleges $ (IfOut) $-on keresztül (cmd) deny ip hozzáadása 169.254.0.0/16-tól tetszőleges $ (IfOut) $-hoz (cmd) deny ip hozzáadása 192-től. 0.2.0 / 24 bármely $ (IfOut) $-on keresztül (cmd) deny ip hozzáadása 224.0.0.0/4-től bármely $ (IfOut) $-hoz (cmd) deny ip hozzáadása 240.0.0.0/4-től bármely $ ( IfOut) ############################################ # Whitelist ############################################ ### # $ (cmd) add engedélyezi az összeset "táblázat (0)"-tól tetszőleges $ (cmd) hozzáadás engedélyezi mindet bármelytől "tábla (0)"-ig ############### ### ############################### # Feketelista ############ #### ################################# $ (cmd) add hozzá az összes megtagadása a "táblázat (1 )"-ből bármely ########################################### #### # Tartsa állandóan ######################################### # $ (cmd) add engedélyezi a tcp-t bármelyiktől nekem létrehozott ############################## ####### ############# # Fő ############################ ####### ############## $ (cmd) add engedélyezése ip tetszőleges fraghoz $ (cmd) add icmp engedélyezése tetszőlegestől $ (IpOut) icmptypes 0, 8.11 # dns $ (cmd) ) add engedélyezni a tcp-t tetszőlegesből $-ba (IpOut) dst-port 53 beállítás $ (cmd) add engedélyezni udp-t tetszőlegesből $-ba (IpOut) dst-port 53 $ (cmd) add udp engedélyezése $-tól (IpOut) 53 tetszőleges $-hoz (cmd) add udp engedélyezése $-tól (IpOut) tetszőleges dst-porthoz 53 Keep-state # dns-kliens $ (cmd) add tcp engedélyezése bármelyiktől $-hoz (NetIn) dst-port 53 beállítás $ (cmd) add engedélyezése udp tetszőlegesről $-ra (NetIn) dst-port 53 $ (cmd) add udp engedélyezése $-ról (NetIn) 53 bármely $-ra (cmd) add udp engedélyezése $-ról (NetIn) bármely dst-porthoz 53 Keep-state # time $ (cmd) add engedélyezi udp-t $-tól (IpOut) bármely dst-porthoz 123 Keep-state # time-kliens $ (cmd) add engedélyezi udp-t $-tól (NetIn ) tetszőleges dst-porthoz 123 keep-state # ssh-in $ (cmd) add engedélyezi a tcp-t tetszőlegesből $-ba (IpOut) 22 $ (cmd) add engedélyezni a tcp-t $-ból (IpOut) 22 tetszőleges # ssh-out $ ( cmd) add hozzá a tcp engedélyezését $-tól (IpOut) tetszőleges 22 $-hoz (cmd) add engedélyezd a tcp-t tetszőleges 22-től $-ig (IpOut) # http $ (cmd) add hozzá a tcp engedélyezését $-tól (IpOut) bármely dst-porthoz 80 # http -kliens $ (cmd) add tcp engedélyezése $-tól (NetIn) bármely dst-porthoz 80 $ (cmd) add tcp engedélyezése tetszőleges 80-tól $-ig (NetIn) # smtp $ (cmd) add tcp engedélyezése bármelyiktől $-hoz (IpOut ) dst-port 25 setup # előre 8080-ról 81 $-ra (cmd) add engedélyezi a tcp-t bármelyikről $-ra (IpOut ) dst-port 8080 $ (cmd) add tcp engedélyezése $-tól (IpOut) 8080 bármely $-hoz (cmd) add tcp engedélyezése bármelyiktől $-hoz (NetIn) dst-port 81 $ (cmd) add tcp engedélyezése $-tól (NetIn) 81 tetszőleges # out $ (cmd) add deny log tcp bármely bemenethez $ (IfOut) beállításon keresztül # $ (cmd) add engedélyezi tcp bármelyikből bármely beállításhoz ############## ##################################### # Helyi hálózat ########## ####################################### $ (cmd) add engedélyezi az összeset bármelyiktől a bármelyik $ (IfIn) keresztül ########################################## # ##### # Összes elutasítása ######################################### ####### $ (cmd) add meg a deny all-t bármelyiktől a tetszőlegesig Kifejezetten kommentáltam néhány sort, amelyek a 192-es, 172-es helyi hálózatok csomagjait a külső interfészre szegezik, mivel az én külső interfészem a helyi. A valóságban ezekre a sorokra van szükség. Menjünk tovább. == A squid beállítása == Most szükségem van a squid-re - egy gyorsítótárazó proxyszerverre, amely képes kompetensen elosztani az internetet minden felhasználó számára a rendszergazda által meghatározott szabályok szerint. pkg_add -r squid Megjegyzés: természetesen helyesebb szoftvert készíteni friss és frissített portokból, de időt takarítunk meg, ezért csomagokban telepítjük. Valamikor később frissítjük a portupgrade segítségével. A tintahal esetében a legegyszerűbb beállítást végezzük: szerkesszük a /usr/local/etc/squid/squid.conf fájlt # Minimum SQUID config acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0/0.0.0.0.5 port acl CONNECT metódus CONNECT http_access engedélyezése kezelő localhost http_access engedélyezése localnet http_access letiltása menedzser http_access megtagadása Biztonságos portok http_access megtagadása CONNECT SSL_portok http_access megtagadása minden icp_access engedélyezi az összes http_port 3128 transzparens hierarchiát. acl QUERY urlpath_regex cgi-bin \? cache deny QUERY cache_dir ufs / usr / local / squid / cache 100 16 256 access_log /usr/local/squid/logs/access.log squid cache_log /usr/local/squid/logs/cache.log cache_quiusrd_log /s /logs/store.log refresh_pattern ^ ftp: 1440 20% 10080 refresh_pattern ^ gopher: 1440 0% 1440 frissítési_minta. 0 20% 4320 acl apache rep_header Szerver ^ Az Apache törött_változatos kódolása engedélyezi az apache gyorsítótárat_effektív_felhasználó squid cache_effective_group squid látható_gépnév vm-freepro.local icp_port 0 error_directory / usr / local error /quiirdsd /_squi local / etc /mpsrd Szándékosan távolítottam el a megjegyzéseket a konfigurációs fájlból, mert nem sok van, de nagyon sok. Ne felejtse el kijavítani az /etc/rc.conf fájlt a következő sor hozzáadásával: squid_enable = "YES" Ezután újraépítjük a gyorsítótárat, és elindítjuk a squid-et: # squid -z # /usr/local/etc/rc.d/squid start Az első, amit utána csinálunk tintahal telepítések- megtiltjuk a helyi felhasználóknak, hogy a 80-as porton keresztül hozzáférjenek az internethez. A 80-as portot átvisszük 3128-ra - i.e. minden felhasználót csak a squid-en keresztül használunk. Van itt egy nagy kis fogás. Ezt csak úgy lehet megtenni, ha bevezetjük az IPFW támogatást a kernelbe, különben a továbbítás nem fog működni. Igen, ez azt jelenti, hogy most meg kell építenünk a saját kernelt! Nem egyszerű feladat, de hasznos - a mag összeszerelése után a működési sebessége növekedjen, a hangerő pedig érezhetően csökkenjen. Először a sysinstall segítségével telepítse a kernelforrásokat: # sysinstall Ugrás a / Konfigurálás / Elosztásokhoz Jelölje be a szakaszon belül src [X] base [X] sys A kernelforrások most a / usr / src mappában vannak. Ezután másolja a GENERIC konfigurációt a "mi" MYKERNEL-ünkbe, és szerkessze a MYKERNEL-t: # cd / usr / src / sys / i386 / conf # cp GENERIC MYKERNEL # mcedit MYKERNEL A konfiguráció szerkesztésekor feltétlenül adja meg a következő beállításokat: # A tűzfal engedélyezése a kernelopciókban IPFIREWALL # A "naplózás" mechanizmus opcióinak engedélyezése IPFIREWALL_VERBOSE # Naplók korlátozása - túlcsordulás elleni védelem opciók IPFIREWALL_VERBOSE_LIMIT = 50 # Csomagtovábbítási mechanizmus engedélyezése IPFIREWALL_FORWARD # Fordítási mechanizmus engedélyezése NAT címek opciók IPDIVERT # Csatornasebesség-korlátozási opciók engedélyezése DUMMYNETÉs távolítsa el az összes felesleges "hardvert", amely valójában nem rendelkezik. Most a kernelt építjük. Ez a művelet eltarthat egy kis ideig, és meghiúsulhat egy hiba miatt, amely miatt további forrásokat kell telepítenie a sysinstallból attól függően, hogy mit írt a konfigurációban. Reméljük, nincs ott semmi felesleges. # cd / usr / src # make buildkernel KERNCONF = MYKERNEL # make installkernel KERNCONF = MYKERNEL Most újra kell indítania, de az újraindítás előtt feltétlenül olvassa el a kézikönyvet arra az esetre, ha az újraindítás nem sikerülne. Természetesen szeretném, ha ez nem történne meg. Tehát töltse be újra, és szerkessze újra az /etc/firewall.conf fájlt. #! / bin / sh # IPFW konfiguráció a NAT-kiszolgálóhoz és a SQUID-proxyhoz cmd = "/ sbin / ipfw -q" IfOut = "em0" IpOut = "192.168.1.10" NetOut = "192.168.1.0/24" IfIn = "em1" " IpIn = "172.16.0.1" NetIn = "172.16.0.0/16" ################################## ################# # Clear ############################ ### ################### $ (cmd) -f flush $ (cmd) asztal 0 flush $ (cmd) asztal 1 flush ######## ## ###################################### # Whitelist / Blacklist #### ### ################################################# # $ (cmd) táblázat 0 hozzáadás 172.16.0.2 $ (cmd) tábla 1 hozzáadás 172.16.0.13 ############################# ### ################ # Loopback ############################# ## ################### $ (cmd) add meg az engedélyezési ip-t bármelyiktől bármelyikhez a lo0-n keresztül ################# ### ############################### # A világ letiltása priváttá ############ #### ################################### $ (cmd) add meg a tagadó ip-t bármelyikről ide 127. 0. 0 19 2.168.1.0/24 bármelyikhez $ (IfOut) $ (cmd) deny ip hozzáadása tetszőlegestől 10.0.0.0/8 értékhez $ (IfOut) keresztül # $ (cmd) deny ip hozzáadása bármelyikhez 172.16.0.0/12 $ segítségével (IfOut) # $ (cmd) deny ip hozzáadása tetszőlegestől 192.168.0.0/16-hoz $ (IfOut) keresztül $ (cmd) deny ip hozzáadása tetszőlegeshez 0.0.0.0/8-hoz $ (IfOut) keresztül $ (cmd) deny hozzáadása ip tetszőlegesről 169.254.0.0/16-ra $ (IfOut) $ (cmd) deny ip hozzáadása tetszőlegesről 192.0.2.0/24 értékre $ (IfOut) $ (cmd) deny ip hozzáadása bármelyikről 224.0.0.0/4 $ (IfOut) $ (cmd) add meg a deny ip-t bármelyiktől 240.0.0.0/4-hez a $ (IfOut) keresztül ########################## ####################### # ICMP ######################### ######################### $ (cmd) add deny icmp bármely fraghez $ (cmd) add deny log icmp hozzárendelés tetszőlegeshez 255.255 .255.255 be a $ (IfOut) $-on keresztül (cmd) add meg a deny log icmp-t bármelyiktől a 255.255.255.255 kimenőhöz $ (IfOut) keresztül ####################### ################################################# ########## ############################# $ (cmd) add átirányítás 8668 ip from $ (NetIn) tetszőlegesbe $-on keresztül (IfOut) $ (cmd) add átirányítás 8668 ip-t bármelyikről $-ba (IpOut) keresztül $ ( IfOut) # $ (cmd) hozzáadja a 8668 ip átirányítását bármelyikről bármelyikre $ (IfOut) keresztül ############################## ##################### # Privát letiltása a világ számára ######################### # ######################## $ (cmd) add meg a deny ip-t 10.0.0.0/8-tól bármelyikhez $ (IfOut) # $ (cmd) ) add meg a deny ip-t a 172.16.0.0/12-től bármelyikhez $ (IfOut) # $ (cmd) add deny ip 192.168.0.0/16-tól bármely $ (IfOut) $ (cmd) deny ip-hez add hozzá a 0.0.0.0/ 8 bármely $ (IfOut) $-on keresztül (cmd) add deny ip-t 169.254.0.0/16-tól bármely $ (IfOut) $-on (cmd) add deny ip-t 192-től. 0.2.0 / 24 bármely $ (IfOut) $-on keresztül (cmd) deny ip hozzáadása 224.0.0.0/4-től bármely $ (IfOut) $-hoz (cmd) deny ip hozzáadása 240.0.0.0/4-től bármely $ ( IfOut) ############################################ # Whitelist ############################################ ### # $ (cmd) add engedélyezi az összeset "táblázat (0)"-tól tetszőleges $ (cmd) hozzáadás engedélyezi mindet bármelytől "tábla (0)"-ig ############### ### ############################### # Feketelista ############ #### ################################# $ (cmd) add hozzá az összes megtagadása a "táblázat (1 )"-ből bármely ########################################### #### # Tartsa állandóan ######################################### # $ (cmd) add engedélyezi a tcp-t bármelyiktől nekem létrehozott ############################## ####### ############# # Fő ############################ ####### ############## $ (cmd) add engedélyezése ip tetszőleges fraghoz $ (cmd) add icmp engedélyezése tetszőlegestől $ (IpOut) icmptypes 0, 8.11 # dns $ (cmd) ) add engedélyezni a tcp-t tetszőlegesből $-ba (IpOut) dst-port 53 beállítás $ (cmd) add engedélyezni udp-t tetszőlegesből $-ba (IpOut) dst-port 53 $ (cmd) add udp engedélyezése $-tól (IpOut) 53 tetszőleges $-hoz (cmd) add udp engedélyezése $-tól (IpOut) tetszőleges dst-porthoz 53 Keep-state # dns-kliens $ (cmd) add tcp engedélyezése bármelyiktől $-hoz (NetIn) dst-port 53 beállítás $ (cmd) add engedélyezése udp tetszőlegesről $-ra (NetIn) dst-port 53 $ (cmd) add udp engedélyezése $-ról (NetIn) 53 bármely $-ra (cmd) add udp engedélyezése $-ról (NetIn) bármely dst-porthoz 53 Keep-state # time $ (cmd) add engedélyezi udp-t $-tól (IpOut) bármely dst-porthoz 123 Keep-state # time-kliens $ (cmd) add engedélyezi udp-t $-tól (NetIn ) tetszőleges dst-porthoz 123 keep-state # ssh-in $ (cmd) add engedélyezi a tcp-t tetszőlegesből $-ba (IpOut) 22 $ (cmd) add engedélyezni a tcp-t $-ból (IpOut) 22 tetszőleges # ssh-out $ ( cmd) add hozzá a tcp engedélyezését $-tól (IpOut) tetszőleges 22 $-hoz (cmd) add engedélyezd a tcp-t tetszőleges 22-től $-ig (IpOut) # http $ (cmd) add hozzá a tcp engedélyezését $-tól (IpOut) bármely dst-porthoz 80 # http -kliens # $ (cmd) add engedélyezi a tcp-t $-ról (NetIn) bármely dst-porthoz 80 # $ (cmd) add engedélyezi a tcp-t tetszőleges 80-tól $-ig (NetIn) # squid $ (cmd) add hozzá az összes engedélyezése $-tól (NetIn) ) a $ (IpIn) 3128-hoz $ (IfIn) $-on (cmd) keresztül adja hozzá az fwd $-t (IpIn), a 3128 tcp-t $-tól (NetIn) bármely 80-hoz # smtp $ (cmd) add engedélyezése tcp bármelyről $ (IpOut) dst-port 25 beállítás # out $ (cmd) naplózás tiltása tcp hozzáadása bármelyikről tetszőlegesbe be $ (IfOut) beállításon keresztül # $ (cmd) add engedélyezése tcp bármely beállításból bármilyen beállításra #### # Helyi hálózat ######################################## ## ###### $ (cmd) add engedélyezi az összeset bármelyiktől a tetszőlegesig a $-on keresztül (IfIn) ############################# ##################### # Összes elutasítása ####################### ### ########################$ $ (cmd) add meg a megtagadást mindentől bármelyikhezÚjraindítjuk a szolgáltatásokat és ellenőrizzük - minden működik, az ügyfelek pedig észrevétlenül mennek át az ellenőrző rendszeren. Egyelőre elhalasztjuk a hozzáférés-vezérlés beállítását, és megoldunk egy másik fontos problémát: a DNS beszerzését. == DNS beállítása == Mostantól ügyfeleink 192.168.1.1 regisztrált DNS-címmel rendelkeznek - a belső hálózaton kívül: 172.16.0.0/16. Elmondhatjuk, hogy a kliensek naponta több ezer alkalommal másznak fel a szerver fölé címeket keresve. Tegyük jobbá a rendszert – egy gyorsítótárazó DNS-kiszolgálót állítunk fel, amely lehetővé teszi, hogy elkerüljük a végpontok közötti kapcsolatokat a külső felé, megspóroljuk a forgalmat és felgyorsítjuk a munkánkat. Ne felejtse el előtte megtagadni az 53-as porton kívüli hozzáférést minden ügyfél számára. Az /etc/namedb/named.conf fájlban szerkessze a figyelés, továbbító paramétereket: opciók ("/ etc / namedb" könyvtár; pid-file "/ var / run / named / pid"; dump-file "/var/dump/named_dump.db"; statisztikai fájl "/var/stats/named.stats "; behallgatás (127.0.0.1; 172.16.0.1;); disable-empty-zone" 255.255.255.255.IN-ADDR.ARPA "; disable-empty-zone" 0.0.0.0.0.0.0.0.0.0.0 .0 .0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA "; letiltás üres zóna" 1.0.0.0.0.0.0.0.0.0.0.0.0.0. 0.0.0.0.0. 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA "; továbbítók (192.168.1.1;); // lekérdezési forrás címe * 53-as port;); Az /etc/resolv.conf fájlban először állítsa be a helyi DNS-t: névszerver 127.0.0.1 névszerver 192.168.1.1 Az /etc/firewall.conf fájlban tiltsa meg az ügyfelek számára a külső DNS használatát (a szakaszok szerkesztése a dns-client megjegyzéssel) # dns-kliens # Külső DNS letiltása # $ (cmd) add engedélyezi a tcp-t tetszőlegesről $-ba (NetIn) dst-port 53 beállítás # $ (cmd) add engedélyezi udp-t bármelyikről $ (NetIn) dst-port 53 # $ ( cmd) add udp engedélyezése $-tól (NetIn) 53 tetszőleges # $-hoz (cmd) add udp engedélyezése $-tól (NetIn) bármely dst-porthoz 53 Keep-state # Csak helyi DNS engedélyezése $ (cmd) add tcp engedélyezése $ ( NetIn) a $ (IpIn) dst-porthoz 53 beállítás $ (cmd) add engedélyezi az udp-t $-tól (NetIn) a $-hoz (IpIn) dst-port 53Újrakezd: # /etc/rc.d/named újraindítás # /etc/rc.d/ipfw újraindítás Most térjünk vissza az internet-hozzáférés szabályozásának kérdéséhez. Egyszerre két megoldás létezik. Először állítsa be az ACL-házirendeket a squid-ben. Másodszor, telepítse és konfigurálja a squidGuard-ot, egy dedikált hozzáférés-vezérlő alkalmazást. Kezdjük sorban. == A squid acl beállítása == Az acl a squid konfiguráció szabályai, amelyek meglehetősen hatékonyan korlátozzák információáramlás keresztül megy egy proxy szerveren. Röviden: az acl-lel pillanatok alatt megölhet minden baloldaliságot, amely zavarja a munkát. Alapértelmezés szerint minden acl-beállítás a squid.conf fájlba van írva, de áthelyezhető ide is külső fájlok... Példaként adok egy részt a konfigurációból: # Megtiltjuk az összes fájlrabló acl megosztást dstdomain .rapidshare.com .webfile.ru http_access deny shares # Mindenkinek megtiltjuk, hogy IP-címen kérjen webhelyeket acl ip_urls url_regex http: // + \. + \. + \. + [: /] Http_access deny ip_urls # Csoportkorlátozások src group_strict (ip 172.16.0.20-172.16.0.25) src group_allow (ip 172.16.0.26-172.16.0.30) acl (group any_pass)_ local Remekül kiderül. De nyilvánvaló, hogy egy jó proxyban sok ilyen szabálynak kell lennie - egy szabály minden "lyukhoz". A "lyukak" kiderítése és egyenkénti felírása fárasztó, de mint mindig, most is van egy kész megoldás - a squidGuard - egy hatalmas szabályrendszerrel rendelkező szűrőalkalmazás, amely elvileg akár a szerint is pótolható. a cron menetrendje. Tanulmányozzuk a kérdést. == A squidGuard beállítása == Most próbáljuk meg a squidGuard telepítését és konfigurálását. Ezt nem nehéz megtenni, de óvatosnak kell lenni. Így: # pkg_add -r squidGuard # cp /usr/local/etc/squid/squidGuard.conf.sample /usr/local/etc/squid/squidGuard.conf A squidGuard.conf fájl tartalmazza az összes beállítást, amelyek közül néhányat azonnal ki kell javítani, nevezetesen: # SquidGuard.conf fájl ... forrásminta-kliensek (ip 172.16.0.0/16) ... Kössük össze a squidGuard-ot a squid-hez – adjunk hozzá 3 sort a squid.conf fájlhoz: redirector_bypass on redirect_program / usr / local / bin / squidGuard -c /usr/local/etc/squid/squidGuard.conf redirect_children 10 A squidGuard a konfigurációs adatbázisát a / var / db / squidGuard könyvtárban tárolja. Az első indítás előtt vagy változtatások után újra kell építeni: # rehash # squidGuard -C all # chown -R squid: squid / var / db / squidGuard # /usr/local/etc/rc.d/squid restart Minden rendben van, de amikor egy ügyfél megpróbál belépni egy tiltott oldalra, például a http://3warez.com/ oldalra, fékeket látunk. És szeretnék valami érthető üzenetet kapni. Ehhez apache-ra van szükségünk. == Az apache beállítása == Mint már említettük, az apache-re van szükségünk ahhoz, hogy információkat jelenítsen meg a blokkolt címekről és a blokkolás okairól. A szokásos módon csináljuk: # pkg_add -r apache22 # echo "apache22_enable =" YES "" >> /etc/rc.conf Az Apache beállításai a /usr/local/etc/apache22/httpd.conf fájlban találhatók. Mielőtt elkezdené, ellenőriznie kell a DocumentRoot és a ServerName direktívákat - a részleteket kihagyom, mivel az interneten sok cikk található a szerver beállításáról. 1 másodperc alatt elkészült. Dob: # echo "Hozzáférés megtagadva"> /usr/local/www/apache22/data/index.html # /usr/local/etc/rc.d/apache22 start Javítsuk ki egy kicsit a squidGuard.conf konfigurációt: # Az acl fájl legvégén (..... alapértelmezett (átirányítás http://172.16.0.1/index.html))== A dhcpd beállítása == És most már közeledünk a befejezéshez. A hálózat be van állítva és csodálatosan működik. Minden ellenőrzés alatt áll, minden szigorúan korlátozott. De az ostor után itt az ideje, hogy egy répát is kínáljunk a vásárlóknak – automatikus DHCP-címek kiosztása formájában. A jó adminisztrátor persze itt is csal - csak MAC-on keresztül osztja ki a címeket, de mi csak teszünk rá mazsolát. # pkg_add -r isc-dhcp3-server # cp /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf Adja hozzá a sorokat az /etc/rc.conf fájlhoz: dhcpd_enable = "IGEN" dhcpd_flags = "- q" dhcpd_ifaces = "em1" Javítania kell a /usr/local/etc/dhcpd.conf legfontosabb konfigurációt is: opció domain-name "example.com"; opció tartománynév-szerverek 172.16.0.1; opció alhálózati maszk 255.255.255.0; alapértelmezett bérleti idő 3600; max. bérleti idő 86400; ddns-update-style nincs; alhálózat 172.16.0.0 hálózati maszk 255.255.0.0 (tartomány 192.16.0.11 172.16.0.15; opciós útválasztók 172.16.0.1;) Bekapcsoljuk az áramot: # /usr/local/etc/rc.d/isc-dhcpd start Talán ez minden, a legfontosabb. Ez a cikk nem állítja, hogy teljes és értelmes, de röviden leírja azokat a lépéseket, amelyeket a kiszolgáló működőképes állapotba hozásához meg kell tenni. Tovább - csak hangolás és újra hangolás. Ne felejtse el azt sem, hogy ez nem az egyetlen módja a szerver beállításának – unixban mindig van alternatíva, és teljesen más alkalmazásokat is használhat.

ALEXEY BEREZHNOY

Internet átjáró beállítása FreeBSD alapú

A FreeBSD használata kis útválasztókon a külvilággal való kommunikációra már régen nem számít kiemelkedőnek. Ez a könnyen használható, alacsony erőforrás- és karbantartásigényű operációs rendszer szinte ideális az ilyen feladatokhoz.

Szükségünk van

  • Hardver... A belső hálózat internetre hozásához elég egy Pentium III 600 MHz-es számítógép, 256 MB RAM, 10 GB HDD, 2 hálózati kártya. A konfigurációt csekély mértékben veszik, egy kis iroda teljes értékű hálózatához (körülbelül 50 felhasználó) a Pentium II 400 MHz 128 MB RAM-mal elég lenne. De a jövőben érdemes lehet ugyanarra az átjáróra telepíteni, például egy proxyszervert, jobb, ha magasabb szintű konfigurációt választunk.
  • Operációs rendszer: FreeBSD 5.5 vagy 6.1.
  • Továbbá: mert ez a számítógép folyamatos használat mellett javaslom, hogy a tokban szállítsa további ventilátorok a hűtőlevegő kényszerfúvatása/szellőztetése érdekében. Szinte minden modern ATX ház lehetővé teszi ezt.

Mivel az összes szükséges modult tartalmazza a operációs rendszer, nincs szükségünk másra.

Hálózati interfészek konfigurálása

Tisztázni kell a hálózati kártyák interfészeinek neveit, amelyek alapján az operációs rendszer felismeri azokat.

# ifconfig

Valami ilyesminek kellene megjelennie:

rl0: zászlók = 8843 mtu 1500

Opciók = 8

Ether 00: xx: xx: xx: xx: xx

Állapot: aktív

xl0: zászlók = 8843 mtu 1500

Opciók = 9

Éter 00: zz: zz: zz: zz: zz

Média: Ethernet automatikus kiválasztás (100baseTX)

Állapot: aktív

plip0: zászlók = 108810 mtu 1500

lo0: zászlók = 8049 mtu 16384

Inet6 :: 1 előtag 128

A számítógép két hálózati kártyával rendelkezik, amelyek interfész neve rl0 és xl0.

Esetünkben az rl0 interfész "benéz". külső világés xl0 - a belső hálózatra. IP-cím belső interfész: 192.168.9.2, alhálózati maszk 255.255.255.0, interfész neve xl0; A külső interfész IP-címe 83.xxx.xxx.xxx, az alhálózati maszk 255.255.255.224, az interfész neve pedig rl0.

A / usr / src / sys / i386 / conf könyvtárban található GENERIC fájlból megtudhatja, hogy mely gyártók melyik hálózati kártyái felelnek meg bizonyos hálózati címeknek:

# more / usr / src / sys / i386 / conf / GENERIC

Ebben megtaláljuk a megfelelő sorokat:

eszköz rl # RealTek 8129/8139

eszköz xl # 3Com 3c90x (`` Boomerang "", "Cyclone" ")

Így az rl0 interfész megfelel a RealTek 8129/8139 hálózati kártyának és analógjainak. Az xl0 hálózati interfész megegyezik a 3Com hálózati kártyával.

Külön érdemes megemlíteni a GENERIC fájlt. Ez a rendszermag konfigurációs fájlja alapértelmezés szerint telepítve van a FreeBSD telepítésekor. Úgy van megszervezve, hogy a rendszer támogassa a legtöbb leggyakrabban használt eszközt, beleértve a megadott hálózati kártyákat is. Nagyon gyakran további kernelmódosítások épülnek a fájl módosított másolatára. Ebben az esetben a következőket tesszük:

  • Szolgáltató átjárója – alapértelmezés szerint 83.xxx.xxx.1.
  • A hálózat felhasználói számítógépeket tartalmaz - 192.168.9.31, 192.168.9.32.
  • Domainünk (feltételesen) a midomain.ru.
  • A gazdagép (számítógép) neve ourhost.ourdomain.ru.

Hálózati kártyákat konfigurálunk. Használhatja a sysinstall segédprogramot (FreeBSD 5.5 esetén / stand / sysinstall és FreeBSD 6.1 esetén / usr / sbin / sysinstall) De mivel ismerjük az összes szükséges paramétert, a folyamat egyszerűsítése és az időmegtakarítás érdekében a paramétereket a megfelelő konfigurációs fájlokat.

A FreeBSD hálózati interfész beállításai az /etc/rc.conf fájlban vannak tárolva. Megnyitjuk szerkesztésre:

# vi /etc/rc.conf

És hozzá következő sorokat:

# Állítsa be a belső interfészt

ifconfig_xl0 = "inet 192.168.9.2 hálózati maszk 255.255.255.0"

# Állítsa be a külső interfészt

ifconfig_rl0 = "inet 83.xxx.xxx.xxx hálózati maszk 255.255.255.224"

# Állítsa be a szolgáltató alapértelmezett átjáróját

defaultrouter = "83.xxx.xxx.1"

# Gazdanév

hostname = "ourhost.ourdomain.ru"

# Jelezzük, hogy a szerver routerként fog működni

gateway_enable = "IGEN"

Ezután újraindítjuk a számítógépet:

# újraindítás

V Ebben a pillanatban a számítógépet nem kellett újraindítani. De szeretnénk megbizonyosodni arról, hogy az interfészeink megfelelően vannak telepítve és működnek, ezért javaslom az újraindítást.

Betöltés után ellenőrizzük:

# ifconfig

Az ifconfig parancs kimenete:

rl0: zászlók = 8843 mtu 1500

Opciók = 8

Inet6 fe80 :: 215: 58ff: fe3e: 8fb1% rl0 prefixlen 64 hatókör 0x1

Inet 83.xxx.xxx.xxx hálózati maszk 0xffffffe0 broadcast 83.xxx.xxx.yyy

Ether 00: xx: xx: xx: xx: xx

Média: Ethernet automatikus kiválasztás (100baseTX)

Állapot: aktív

xl0: zászlók = 8843 mtu 1500

Opciók = 9

Inet6 fe80 :: 20a: 5eff: fe62: ade2% xl0 prefixlen 64 hatókör 0x2

Inet 192.168.9.2 hálózati maszk 0xffffff00 adás 192.168.9.255

Éter 00: zz: zz: zz: zz: zz

Média: Ethernet automatikus kiválasztás (100baseTX)

Állapot: aktív

plip0: zászlók = 108810 mtu 1500

lo0: zászlók = 8049 mtu 16384

Inet6 :: 1 előtag 128

Inet6 fe80 :: 1% lo0 prefixlen 64 hatókör 0x4

Inet 127.0.0.1 hálózati maszk 0xff000000

Az rc.conf fájl véleményem szerint kulcskonfigurációs fájlnak nevezhető. A rendszer által használt nagyon sok paraméter megfelelő változók formájában van beállítva ebben a fájlban. Beleértve az általunk használt hálózati interfészek, tűzfal és NAT beállításait.

Az átjáró konfigurálása

A natív FreeBSD IPFW tűzfalat fogjuk használni. Ehhez néhány változtatást kell végrehajtanunk a rendszer magjában. Ha van További kérdések A kernel újrafordításával kapcsolatban azt tanácsolom, hogy olvassa el a további anyagokat: http://freebsd.org.ru/how-to/kernelconfig.html.

Vegye figyelembe, hogy a megfelelő architektúrához a kernelforrásokat kell használnia. Mivel számítógépünk architektúrája az i386 platformra épül, ezért a kernelt is a platformnak megfelelően kell lefordítani. Más platformon lévő számítógépek tulajdonosai számára javaslom a vonatkozó szakirodalom áttekintését.

A kernelforrások alapértelmezés szerint az / usr / src / sys / i386 / conf könyvtárban találhatók. Ennek megfelelően ebbe a könyvtárba megyünk:

# cd / usr / src / sys / i386 / conf

Általában az alapértelmezett kernelbeállításokat tartalmazó GENERIC fájl módosul. Ehhez készítsen másolatot erről a fájlról:

# cp GENERIC kernelünk

Nyissa meg szerkesztésre új fájl kernelünk:

# vi kernelünk

és adja hozzá a következő lehetőségeket:

Opciók IPFIREWALL #tűzfal

Opciók IPFIREWALL_VERBOSE?

#enable naplózás a syslogd-ba (8)

Opciók IPFIREWALL_FORWARD?

#átlátszó proxy támogatás engedélyezése

Opciók IPFIREWALL_VERBOSE_LIMIT = 100 #limit verbosity

Opciók IPFIREWALL_DEFAULT_TO_ACCEPT #alapértelmezés szerint mindent engedélyez

Opciók DUMMYNET

Opciók IPDIVERT #divert sockets

A változtatások elvégzése után megkezdheti a kernel újrafordítását.

A következő parancsokat hajtjuk végre:

# a kernelünk konfigurálása

# cd / usr / src / sys / i386 / fordítás / kernelünk

# függővé tenni

# gyártmány

# telepítse

Túlterhelés:

# újraindítás

Ha az újraindítás után a szerver jól működik, kezdjük el a tűzfal beállítását.

A tűzfal munkájának megszervezéséhez a következő változókat használjuk, amelyeket szükség esetén hozzáadunk az rc.conf fájlhoz.

Engedélyezi vagy megtagadja a tűzfal használatát:

# Állítsa IGEN értékre a tűzfal funkció engedélyezéséhez

firewall_enable = "NEM"

A tűzfal inicializálásáért felelős fájl neve és helye.

# Melyik szkriptet kell futtatni a tűzfal beállításához

firewall_script = "/ etc / rc.firewall"

Telepítéskor ennek a szabálynak"IGEN" esetén a kijelző el van nyomva:

firewall_quiet = "NEM"

Események naplózásának engedélyezése / letiltása:

firewall_logging = "NEM"

Tűzfal konfigurációs típusa:

firewall_type = "ISMERETLEN"

alapértelmezés szerint a FreeBSD az /etc/rc.firewall fájl szabályait használja.

Számos kész sablon van benne:

  • nyisd ki- a tűzfal lehetővé teszi az összes csomag áthaladását.
  • ügyfél- Csak ennek a számítógépnek a védelme javasolt. Ez azt jelenti, hogy a tűzfal szabványos ügyfélszámítógépként van konfigurálva. Engedélyez minden kimenő kapcsolatot, és letilt minden bejövő kapcsolatot, kivéve a 25-ös porton lévő kapcsolatokat.
  • egyszerű- egyszerű átjárók stb. beállítására szolgál. Vagyis a legegyszerűbb tűzfal, amely megvédi a belső hálózatot a külső behatolástól. Rugalmasabb szabályrendszert fogunk felállítani, ezért ezt a sablont nem fogjuk használni.
  • zárva- Engedélyezett a forgalom a lo0 helyi interfészen. A forgalom többi részét az alapértelmezett szabály adja át. Általános szabály, hogy ez minden hozzáférés tilalma, kivéve a lo0 belső interfészt (leegyszerűsítve csak a "magához" való hozzáférés engedélyezett)
  • ISMERETLEN- tiltsa le a tűzfalszabályok betöltését az alapértelmezett konfigurációs szkriptből. A tűzfal semmilyen módon nem konfigurálható. Az, hogy átadja-e a forgalmat, a rendszermag konfigurációjától függ. Alapértelmezés szerint használt.

Ugyanez a változó a "filename" - "filename" - értékben használható a tűzfal saját konfigurációs fájljának beállítására.

Például:

firewall_type = "/ etc / rc.firewall.newconfig"

betölti a beállításokat a létrehozott /etc/rc.firewall.newconfig fájlból.

"Firewall_flags =" "" - további argumentumok átadására szolgál, ha a firewall_type fájlnév értékkel használja.

Feladatunk egy olyan rendszer létrehozása, amely megfelel az alábbi kritériumoknak:

  • Könnyű adminisztráció.
  • Menet közbeni módosítás, a felhasználók számára láthatatlan. Ezért az olyan műveletek, mint a kapcsolatok megszakítása és még inkább az újraindítás nem kívánatosak számunkra.
  • Garantált, hogy rendszerünk a legtöbb gépen működik.

Példaszkriptünkben a helyi hálózaton lévő összes számítógépet két feltételes csoportra osztjuk: az egyik kiváltságos csoport azok, akik hozzáférést kapnak az internethez a leggyakoribb szolgáltatások használatával, mint például:

  • HTTP- 80-as port;
  • HTTPS- 443-as port;
  • FTP- 20-as, 21-es és 1025-65535-ös portok;
  • SMTP protokoll a levéltovábbításhoz- 25-ös port;
  • POP3 protokoll üzenetek fogadására- 110-es port.

Van egy másik csoport, a számítógépek, amelyekről csak egy külső vállalati szerverhez férhetnek hozzá 83.xxx.xxx.2 IP-címmel (csak SMTP és POP3 protokollok).

Biztosítanunk kell, hogy a kiváltságos csoportot, ahogy mondják, „menet közben” lehessen megváltoztatni, lehetőleg törés nélkül. létrejött kapcsolatokat... Ehhez meghívjuk a szkriptünkből az rc.firewall.local.inet további szkriptet. Elegendő ezt a kiegészítő szkriptet szerkeszteni és újraindítani anélkül, hogy az összes többi tűzfalbeállítást befolyásolná.

Ezenkívül gondoskodnunk kell olyan helyzetekről, amikor a hálózati paraméterek megváltoznak, például a szolgáltató átjárójának IP-címe. Ehhez helyi változókat fogunk használni a szkriptben. Például, ha módosítja az alapértelmezett átjárót, csak módosítania kell az intgateway változó értékét, és újra kell indítania az rc.firewall.run parancsfájlt.

Íme a minta szkriptünk:

# vi rc.firewall.run

#! / bin / sh

extip = "83.xxx.xxx.xxx"

intip = "192.168.9.2"

intnet = "192.168.9.0/24"

mailserver = "83.xxx.xxx.2"

intgateway = "83.xxx.xxx.1"

/ sbin / ipfw -f flush &

/ sbin / ipfw 180 hozzáadása natd ip átirányítása $-ról (intnet) bármely kimenetre xmit fxp0

/ sbin / ipfw 190 hozzáadása natd ip átirányítása bármelyikről $-ba (extip)

# ICMP

/ sbin / ipfw add 500 icmp engedélyezése bármelyikről bármelyikre

# SSH

/ sbin / ipfw 10000 hozzáadása tcp engedélyezése bármelytől tetszőleges 22

/ sbin / ipfw 10010 hozzáadása tcp engedélyezése bármely 22-től bármely

# DNS

/ sbin / ipfw add 11000 tcp engedélyezése bármelyikről tetszőlegesre 53

/ sbin / ipfw 11010 hozzáadása tcp engedélyezése bármely 53-tól bármely

/ sbin / ipfw add 11020 udp engedélyezése bármelytől tetszőleges 53-ig

/ sbin / ipfw add 11030 udp engedélyezése bármely 53-ról bármelyikre

# Web FTP

/ sbin / ipfw add 12000 tcp engedélyezése tőlem bármely 20,21,80,443

/ sbin / ipfw add 12010 tcp engedélyezése bármely 20,21,80,443-ból nekem

/ sbin / ipfw add 12020 udp engedélyezése tőlem bármely 20,21

/ sbin / ipfw add 12030 udp engedélyezése bármely 20,21-ből nekem

# Parancsfájl a jogosultsági csoporthoz

/ bin / sh /etc/rc.firewall.local.inet

# A LAN másik számítógépének megtagadása

/ sbin / ipfw 12960 deny tcp hozzáadása $ (intnet) bármely 20,21,80,443-hoz

/ sbin / ipfw add 12970 deny tcp bármely 20,21,80,443-tól $-hoz (intnet)

/ sbin / ipfw add hozzá az 12980 deny udp értéket $-tól (intnet) bármely 20,21-hez

/ sbin / ipfw add 12990 deny udp bármely 20.21-től $-ig (intnet)

/ sbin / ipfw add 13000 tcp engedélyezése $-tól (intnet) $-ig (mailszerver) 25 110

/ sbin / ipfw add 13010 tcp engedélyezése $-tól (mailszerver) 25 110-től $-ig (intnet)

/ sbin / ipfw add 55010 tcp engedélyezése bármelyikről bármely 1024-65534

/ sbin / ipfw 55020 hozzáadása engedélyezi a tcp-t bármely 1024-65534-től bármely

/ sbin / ipfw hozzáadása 55030 tcp engedélyezése bármely 1024-65534-től bármely

/ sbin / ipfw add 55040 tcp engedélyezése bármelyikről bármely 1024-65534

/ sbin / ipfw add 55050 udp engedélyezése tetszőleges 1024-65534

/ sbin / ipfw add hozzá az 55060-at

/ sbin / ipfw hozzáadása 55070

/ sbin / ipfw add 55080 udp engedélyezése bármely 1024-65534

# Mindent tagadni

/ sbin / ipfw add 65534 deny ip from any to any

Hozza létre és szerkessze az rc.firewall.local.inet parancsfájlt, hogy egy kiemelt címcsoporttal működjön:

# vi / etc / rc.firewall.local.inet

#! / bin / sh

intnet = "192.168.9.0/24"

privgroup = (31.32)

/ sbin / ipfw törlés 12310

/ sbin / ipfw 12320 törlése

/ sbin / ipfw törlés 12330

/ sbin / ipfw törlés 12340

/ sbin / ipfw add hozzá az 12310-et engedélyezi a tcp-t $ (intnet) $-tól (privgroup) bármely 20,21,80,443,1025-65535 számhoz

/ sbin / ipfw add 12320 tcp engedélyezése bármely 20,21,80,443,1025-65535-től $ (intnet) $-ig (privgroup)

/ sbin / ipfw add 12330 udp engedélyezése $ (intnet) $-tól (privgroup) bármely 20,21,1025-65535 számhoz

/ sbin / ipfw add 12340 udp engedélyezése tetszőleges 20,21,1025-65535-ből $ (intnet) $-ba (privgroup)

A privilegizált csoport összetételének módosításához szükséges szkriptben szerkesztenie kell a privgroup változót a benne lévő gazdagép szám hozzáadásával/eltávolításával a helyi alhálózaton.

Például két 192.168.9.33 és 192.168.9.45 IP-című számítógép hozzáadásához a következőt kell írnia: „privgroup = (31-33.45)”.

Kicsit csúnya olyan szabályokat használni a rendszer indításakor, mint a „/ sbin / ipfw delete NNNNN”, amikor még nem volt ilyen szabály. Ha nem létező szabályt próbál törölni, a rendszer a következő üzenetet jeleníti meg a konzolon:

ipfw: szabály 13031: setsockopt (IP_FW_DEL): Érvénytelen argumentum

Ebben az esetben a rendszer továbbra is normálisan működik.

Ha mindent szigorúan csinál, akkor két szkriptet kell létrehoznia: az egyiket az indításkor futtatja, a másodikat pedig menet közbeni módosítások végrehajtása során. Ekkor azonban el kell végeznie a megfelelő módosításokat mindkét szkripten.

Mivel a fő cél egy könnyen adminisztrálható rendszer kialakítása, ez a probléma esetünkben elhanyagolható.

Most azonban a megfelelő módosítások elvégzése után egyszerűen újraindíthatjuk a szkriptet a kiváltságos csoporthoz.

# / bin / sh rc.firewall.local.inet

Változtathatunk és újraindíthatjuk az rc.firewall.run szkriptet is, bár ezt a tervezésből adódóan sokkal ritkábban kell megtennünk, mint a privilegizált csoportszkript esetében.

# / bin / sh rc.firewall.run

Mivel saját szkriptet írtunk a meglévő szabályok érvénytelenítésére és egy alternatív tűzfalkonfiguráció elindítására, át kell gondolnunk, hogyan indítsuk el.

A FreeBSD-nek csodálatos indítási mechanizmusa van egyedi programok: rc.local fájl. Alapértelmezés szerint hiányzik a rendszerből.

Mivel már alkotunk ez a fájl, adja hozzá a parancsot a natd démon elindításához, amely a NAT támogatásáért felelős.

A natd démon az rc.conf fájlból indul el. (Ismét ez a fájl, valóban kulcsszerepet játszik az egész FreeBSD rendszer egészében!)

A fájl rc.conf fájlból való futtatásának mechanizmusa a következő változókon keresztül történik:

# - magának a natd fájlnak az elérési útja

natd_program = "/ sbin / natd"

# NAT engedélyezése (ha firewall_enable == IGEN)

natd_enable = "IGEN"

# Használható kezelőfelület vagy ipadcím

natd_interface = ""

# Opcionális natd indítási jelzők

natd_flags = ""

De ebben az esetben a natd démon hívását fogjuk használni az rc.local-on keresztül. Parancs:

# vi /etc/rc.local

automatikusan létrehozza az /etc/rc.local fájlt és megnyitja szerkesztésre.

Adja hozzá a következő sorokat:

# Natd start parancs

/ sbin / natd -n rl0

# ahol "-n rl0" annak az interfésznek a neve, amelyen a NAT elindul

# És futtassa a szkriptünket a tűzfalszabályok beállításához:

/ bin / sh /etc/rc.firewall.run

Újraindítjuk és ellenőrizzük a szükséges internetes erőforrásokhoz való hozzáférést egy számítógépről a helyi hálózatról.

  1. Evie Németh, Garth Snyder, Scott Seabass, Trent R. Hein. UNIX. Menedzsment rendszergazda... BHV, Péter, 2004
  2. Alexey Fedorchuk, Alexey Torn. FreeBSD. Telepítés, konfigurálás, használat. BHV, 2003
  3. Philip Torchinsky. Gyakorlati útmutató a UNIX rendszergazdának. "Szimbólum", 2003

Wi-fi router DHCP-vel és DNS szerverekkel FreeBSD 8.2

Amit szeretnénk kapni:
- hogy a Wi-Fi kliensek ugyanazon az alhálózaton legyenek a vezetékesekkel.
- hogy a vezetékes és vezeték nélküli kliensek automatikusan megkapják a címeket DHCP-n keresztül
- hogy legyen gyorsítótárazó DNS-e
- természetesen azt szeretnénk, hogy mindenki internetezzen
- RDP hozzáféréssel rendelkezni a belső szerverhez

Általában a Dlink DIR-300 routerhez hasonló funkcionalitást szeretnénk kapni

Amink van:
Celeron 700, 256 MB RAM, 80 GB IDE csavar és egy furcsa alaplap, amely csak kikapcsolt ACPI mellett működik
hálózati kártyák:

LAN - rl0 (10 \ 100 valamiféle realtek a szekrény mögött a munkahelyen) [e-mail védett]:1 :8 :0 : osztály = 0x020000 kártya = 0x813910ec chip = 0x813910ec rev = 0x10 hdr = 0x00 gyártó = "Realtek Semiconductor" eszköz = Realtek RTL8139 család PCI FastEthernet NIC RTL- 8139 / 8139C / 8139D osztály = hálózati alosztály = ethernet WAN - stge0 (10 \ 100 \ 1000 asus adapter) [e-mail védett]:1 :5 :0 : osztály = 0x020000kártya = 0x81801043chip = 0x102313f0 rev = 0x41 hdr = 0x00 szállító = "Sundance Technology Inc" eszköz = "IC Plus IP1000 család Gigabites Ethernet-adapter" osztály = hálózati alosztály = Ethernet WLAN-tól (WLAN - Wi-Fi-cheap) [e-mail védett]:1 :10 :0 : osztály = 0x028000kártya = 0x3a711186chip = 0x03021814 rev = 0x00 hdr = 0x00 szállító = "Ralink Technology, Corp." eszköz = "vezeték nélküli a / b (RT2525 2 .4 GHz-es adó-vevő + RT2560 MAC / BBP) "osztály = hálózat

Az internetszolgáltató által biztosított fehér IP-cím:
IP 9.9.9.9
maszk 255.255.255.0
átjáró 9.9.9.1
DNS1 9.9.9.254
DNS1 9.9.9.253
a beállítások eltérnek a valódiaktól, de ez nem változtat a lényegen

LAN tartomány: 192.168.0.0 255.255.255.0 maszkkal

FreeBSD 8.2 operációs rendszer telepítve:

# uname -a FreeBSD GATE 8 .2 - A FreeBSD kiadása 8 .2 -KIADÁS # 0: Szo Apr 9, 20:13:28 OMSST 2011 [e-mail védett]: / usr / src / sys / i386 / fordítás / GATE i386

az /etc/rc.conf tartalma:

9 .9 .9 .1 9 .9 .9 .9 hálózati maszk 255 .255 .255 .0 "ifconfig_rl0 =" inet 192 .168 .0 .1 hálózati maszk 255 .255 .255 .0 "

az /etc/resolv.conf (DNS-kiszolgáló) tartalma:

névszerver 9 .9 .9 .254 névszerver 9 .9 .9 .253

Elkezdjük a felkészülést:

Minden felesleges illesztőprogramot eltávolítunk a kernelből (jó, vagy ne távolítsuk el, mert ez bárki számára kényelmes), miközben az összes illesztőprogramot meghagyjuk vezeték nélküli eszközök... Ha tudod melyik illesztőprogram illik a kártyádhoz, akkor hagyd el, és a többit ki lehet venni.Nem tudtam, hogy nekem melyik jön be, ezért mindent otthagytam. Újraépítjük a kernelt a következő opciókkal:

eszköz if_bridge # Modul a híd működéséhez eszköz wlan # 802.11 támogatás (Wi-Fi) # nem tudom mi az, automatikusan betöltődik eszköz wlan_amrr # AMRR átviteli sebesség-szabályozó algoritmusok eszköz wlan_xauth # Engedélyezési támogatási modul a hozzáférési pont módhoz eszköz wlan_wep # WEP biztonsági algoritmus támogató modul eszköz wlan_tkip # TKIP titkosítást támogató modul eszköz wlan_ccmp # CCMP titkosítást támogató modul készülék pf # Tűzfalként a csomagszűrőt használom # soralgoritmus támogatás (forgalmi prioritás) opciók ALTQ opciók ALTQ_CBQ # Osztálybázisok sorakozó (CBQ) opciók ALTQ_RED # Véletlenszerű korai észlelés (PIROS) opciók ALTQ_RIO # PIROS Be/Ki opciók ALTQ_HFSC # Hierarchikus csomagütemező (HFSC) opciók ALTQ_PRIQ # Priority Queuing (PRIQ) # mivel egymagos processzorom van, nem kell sok mag támogatása #options ALTQ_NOPCC # SMP buildhez szükséges

felépíteni és telepíteni a kernelt:

# cd / usr / src # make buildkernel KERNCONF = GATE && \ make installkernel KERNCONF = GATE

Indítsa újra, és nézze meg, mi történt:

8843 mtu 1500 opciók = 8209b éter 01 :01 :01 :01 :01 :01 inet 9 .9 .9 .9 9 .9 .9 .255 8802 metrikus 0 mtu 1500 opciók = 3808 éter 00 :50 : fc: ef: 4d: 75 inet 192 .168 .0 .1 hálózati maszk 0xffffff00 adás 192 .168 .0 .255 média: Ethernet automatikus kiválasztás (100baseTX 8802 metrikus 0 mtu 2290 éter 00 :26 : 5a: 77 :38 : ba média: IEEE 802 .11 Vezeték nélküli Ethernet automatikus kiválasztás (autoselect) állapota: nincs hordozó lo0: zászlók = 8049 mtu 16384 opciók = 3 inet 127 .0 .0 .1 hálózati maszk 0xff000000

A Wi-Fi-kártya ral0-ként lett azonosítva. Már jó. Újraépítheti a kernelt, és eltávolíthatja a szükségtelen vezeték nélküli illesztőprogramokat.

Szerkessze az /etc/hostapd.conf fájlt ebbe az állapotba:

Az /etc/rc.conf szerkesztése:

keymap = "ru.koi8-r" hostname = "GATE" gateway_enable = "IGEN" defaultrouter = " 9 .9 .9 .1 "sshd_enable =" IGEN "ifconfig_stge0 =" inet 9 .9 .9 .9 hálózati maszk 255 .255 .255 .0 " # konfigurálja a vezeték nélküli kártyát hozzáférési pontként wlans_ral0 = "wlan0" create_args_wlan0 = "wlanmode hostap" ifconfig_wlan0 = "médiaopt hostap" # távolítsa el az IP-címet az rl0 interfészről # ifconfig_rl0 = "inet 192.168.0.1 hálózati maszk 255.255.255.0" # hozzon létre hidat a vezetékes és a vezeték nélküli LAN között # és akaszd rá a helyi hálózati átjáró IP-címét cloned_interfaces = "bridge0" ifconfig_bridge0 = "inet 192 .168 .0 .1 hálózati maszk 255 .255 .255 .0 \ addm wlan0 addm rl0 up "ifconfig_rl0 =" fel " # hozzáférési pont funkció engedélyezése hostapd_enable = "IGEN"

Újraindítjuk. Nézzük meg mi történt:

# ifconfig stge0: flags = 8843 mtu 1500 opciók = 8209b éter 01 :01 :01 :01 :01 :01 inet 9 .9 .9 .9 hálózati maszk 0xffffff00 adás 9 .9 .9 .255 média: Ethernet automatikus kiválasztás (100baseTX ) állapota: aktív rl0: zászlók = 8943 mtu 1500 opciók = 3808 éter 00 :50 : fc: ef: 4d: 75 média: Ethernet automatikus kiválasztás (100baseTX ) állapota: aktív ral0: flags = 8843 metrikus 0 mtu 2290 éter 00 :26 : 5a: 77 :38 : ba média: IEEE 802 .11 állapot: fut lo0: zászlók = 8049 metrikus 0 mtu 16384 opciók = 3 inet 127 .0 .0 .1 hálózati maszk 0xff000000 bridge0: flags = 8843 mtu 1500 ether a6: 09 : ed: c1: 23 :38 inet 192 .168 .0 .1 hálózati maszk 0xffffff00 adás 192 .168 .0 .255 id 00 :00 :00 :00 :00 :00 kiemelten fontos 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 időtúllépés 1200 gyökérazonosító 00 :00 :00 :00 :00 :00 kiemelten fontos 32768 ha költség 0 kikötő 0 tag: rl0 flags = 143 ifmaxaddr 0 kikötő 2 kiemelten fontos 128 út költsége 200000 tag: wlan0 flags = 143 ifmaxaddr 0 kikötő 6 kiemelten fontos 128 út költsége 370370 wlan0: flags = 8943 mtu 1500 éter 00 :26 : 5a: 77 :38 : ba média: IEEE 802 .11 Vezeték nélküli Ethernet automatikus kiválasztási mód 11g állapot: fut ssid csatorna 1 (2412 MHz 11g) bssid 00 :26 : 5a: 77 :38 : ba ország USA authmode WPA2 / 802 .11i adatvédelem VEGYES deftxkey 2 AES-CCM 2 :128 -bit AES-CCM 3 :128 -bit txpower 0 szkennelés érvényes 60 protmode CTS dtiperiod 1 -dfs

Minden rendben van, a Wi-fi és a vezetékes kártyák híd köti össze és ezen a hídon lóg egy IP cím

Kezdjük a PF konfigurálását. A PF lehetővé teszi a forgalom priorizálásának engedélyezését. Rövid leírás Nézz ide:
http://www.freebsd.org/doc/ru/books/handbook/firewalls-pf.html
hozzon létre egy /usr/local/etc/pf.conf fájlt, és állítsa ebbe az állapotba:

# Itt definiálom azokat a változókat, amelyekkel kényelmesebb számomra a script megírása. WAN = "stge0" LAN = "bridge0" LAN_POOL = " 192 .168 .0 .0 /24 "WANIP = 9 .9 .9 .9 "SZERVER = 192 .168 .0 .3 "ADMIN =" 192 .168 .0 .2 "RDP_PORT =" 3389 "EXTRDP_PORT =" 33389 " # forgalom ezekre a portokra és onnan le lesz tiltva a külső interfészen DROP_PORTS = "(135: 139 ,445}" # Mi a teendő, ha egy csomag blokkolási szabályt talál (blokk) # set block-policy drop – dobja el a csomagot, és ne csináljon semmit # set block-policy reject - dobja el a csomagot, és küldjön hibaüzenetet # az azt küldő gazdagépnek. set block-policy drop # Ne ellenőrizze a forgalmat a lo0-ra ugrás beállítása lo0-ra # Ne ellenőrizze a forgalmat a bridge0 felületen (nincs belső korlátozásunk)állítsa be a kihagyást a $ LAN-on # Csomagok „Normalizálása”. Ennek az opciónak a leírása véleményem szerint elegendő # homályosak, de hasznosak lehetnek bizonyos típusú hálózati támadások ellen. bozót mindenben # ~ 5000 kbps a sebességem, de itt meg kell adni a sebességet altq $ WAN priq sávszélesség 5000 Kb sorban (priv, egyéb) # 2 sorom van # Magasabb prioritású forgalomhoz (RDP a szerverről) queue priv qlimit 25 kiemelten fontos 14 priq (piros) # Mindenki másnak sor más qlimit 30 kiemelten fontos 10 priq (alapértelmezett) # A sorok méreteit, mondhatni, a mennyezetről veszik: (Nem is # koncentrálj rájuk, kérlek. Próbálja meg saját maga megkeresni a sor méretét # engedélyezze a NAT-ot a LAN hálózat külső interfészén nat a $ WAN-on $ LAN_POOL-tól bármely -> ($ WAN) # A port továbbítása a szerverre A szabványos porttól eltérő továbbítás # a szabványos portokat pásztázó brute force majmok elleni védelem érdekében rdr a $ WAN proto tcp-n bármelyikről $ WANIP \ port $ EXTRDP_PORT -> $ SERVER port $ RDP_PORT # Vágja le a címünkre érkező ping kéréseket Gyors blokkolás a $ WAN proto icmp-n bármelyikről $ WANIP icmp-típusra 8 # A külső felületen ne legyen forgalom a NETBIOS-ból gyorsan blokkolja a $ WAN protot (tcp udp) bármely $ DROP_PORTS portra # engedélyezze a hamisítás elleni védelmet a WAN interfészen # Idézve: http://openbsd.corebsd.or.id/faq/pf/ru/filter.html: # A címek hamisak, ha a támadó meghamisítja az eredetit # IP-címek csomagokban, vagy átkerülnek a valódi címeik shelljébe, # vagy ábrázoljon egy másik csomópontot a hálózaton. Miután a felhasználót meghamisították # képesek lesznek hálózati támadást indítani anélkül, hogy felfednék a valódi forrást # támadás, vagy megpróbál hozzáférni hálózati szolgáltatások, melyik # meghatározott IP-címekre korlátozva. antispoof gyors $ WAN-ért # Minden kifejezetten jogosulatlan forgalom tiltása blokkolja az összeset # ### Bejövő forgalom # Kiváltságos forgalom gyors átadás $ WAN proto tcp bármelyről $ WANIP portra $ EXTRDP_PORT queue priv # Normál forgalom gyors átadás $ WAN-on bármelyikről $ WANIP állapotsor megtartása egyéb # Valójában a bejövő forgalomnál a PF-ben nem működik a prioritás, hanem az I. szabályok # még mindig írt. # ### Kimenő forgalom # Kiváltságos forgalom gyorsan elmúlik a $ WAN proto tcp a $ WANIP \ portról $ EXTRDP_PORT bármely megtartási állapot várólistára priv # A normál forgalom gyorsan elmúlik a $ WAN-on $ WANIP-ről bármely megtartási állapot sorba, egyéb
pf_enable = "IGEN" pf_rules = "/ usr / local / etc / pf.conf"

és indítsa újra a pf-t:

# /etc/rc.d/pf újraindítás

A szabályok létrehozásának helyességét a parancsokkal ellenőrizzük:

pfctl -sn Meglévő NAT-szabályok
pfctl -sr Meglévő szabályok adások
pfctl -ss Kiépített kapcsolatok
pfctl -si Különféle számlálók
pfctl -sa A fentiek mindegyike egyszerre
pfctl -sq -vvv A sorok állapotát mutatja

Portok frissítése portsnap segítségével:

# portsnap fetch A portsnap.FreeBSD.org tükrök keresése ... 5 tükrök találtak. Pillanatkép címke lekérése a portsnap5.FreeBSD.org webhelyről ... kész. Pillanatkép metaadatainak lekérése... kész. Frissítés: szerda jún 15 14 :21 :31 MSD 2011 Cs júl 21 11 :37 :27 MSD 2011 ... Elragadó 3 metaadat javítások .. kész. Metaadat-javítások alkalmazása... kész. Elragadó 3 metaadat fájlok ... kész. Elragadó 9656 foltok..... 10 .... <Часть вывода удалена> ...........9650 ... Kész. Patchek felhelyezése... kész. Elragadó 1282 új portok vagy fájlok ... kész. # portsnap kivonat /usr/ports/.cvsignore / usr / ports / CHANGES .................<Часть вывода удалена>................. / usr / ports / x11 / yelp / / usr / ports / x11 / zenity / Új INDEX fájlok készítése ... kész.

A djbdns csomagból származó dnscache-t használjuk gyorsítótárazó DNS-kiszolgálóként, mivel kevesebb memóriát fogyaszt, és biztonságosabbnak tekinthető, mint a FreeBSD-hez tartozó BIND DNS-kiszolgáló.

djbdns telepítése:

# cd / usr / ports / dns / djbdns && a telepítés tiszta

Gyűjtjük és telepítjük az alábbi opciókkal:

DUMPCACHE állandó gyorsítótár a dnscache-hez IPV6 IPv6 támogatás Felix von Leitnertől IGNOREIP ignoreip2 javítás, Russell Nelson JUMBO jumbo javítás, Claudiu Costin [X] MAN kézikönyv oldalai, Gerritt Pape PERSISTENT_MMAP állandó mm rekord javítás, Michael Lennert [ SXRV patch vásárlás] SRV Lennert Michael SRV Michael

A djbdns vele együtt kihúzza a daemontools portot is. A daemontools démonok indítására és munkájuk figyelésére készült. Vagyis ha bármelyik démon az irányítása alatt "összeomlik", akkor a daemontools újraindítja.

Hozzon létre egy dnsusers csoportot, amely magában foglalja a felhasználókat, amelyek alatt maga a dnscache és a dnslog (a djbdns naplózója) futni fog:

hozzon létre egy felhasználót a dnsloghoz:

# pw useradd dnslog -s / sbin / nologin -d / dev / null -G dnsusers

hozzon létre egy mappát, amelynek tartalmával a daemontools működik:

daemontools futtatása:

mivel a dnscache konfiguráció a / usr / local / etc / djbdns mappában található, és a daemontools a / var / service mappával működik, létrehozzuk a hivatkozást:

# ln -s / usr / local / etc / dnscache / var / service / dnscache

A / usr / local / etc / dnscache / env mappa fejlettebb dnscache konfigurációval rendelkező fájlokat tartalmaz, de ebben az esetben az alapértékekkel rendben vagyunk.

A szerver normál működéséhez be kell állítani a felfelé irányuló szerverek címét. Minden zónához van egy fájl, amelynek neve megegyezik a zóna nevével, a / usr / local / etc / dnscache / root / servers könyvtárban. Minden fájl tartalmazza a zónáért felelős szerverek IP-címét. Mivel minden kérést átirányítunk a szolgáltató DNS-kiszolgálóira, a nevüket egy „@” nevű fájlba írjuk (amely a gyökérzónáért felelős).

Indítsa újra a dnscache-t:

Telepítse a DHCP szervert (ezekkel az opciókkal építettem):

# cd / usr / portok / net / isc-dhcp41-szerver && a telepítés tiszta Az isc-dhcp41-server beállításai 4 .1 .e_1, 2 DHCP_IPV6 IPv6 támogatásának engedélyezése [X] DHCP_PARANOIA Chroot támogatás engedélyezése DHCP_LDAP Kísérleti LDAP háttértámogatás DHCP_LDAP_SSL Támogatás LDAP kapcsolat SSL / TLS-en keresztül

A DHCP-kiszolgáló konfigurációját (/usr/local/etc/dhcpd.conf) ebbe az állapotba hozzuk:

helyi cím 192 .168 .0 .1 ; alapértelmezett bérleti idő 600 ; max-bérleti idő 7200 ; irányadó; ddns-update-style interim; log-facility local7; alhálózat 192 .168 .0 .0 hálózati maszk 255 .255 .255 .0 (hatótávolság 192 .168 .0 .10 192 .168 .0 .250 ; opciós útválasztók 192 .168 .0 .1 ; # Ha emelt SAMBA-t, akkor megpróbálhatja adni az ügyfeleknek # a WINS szerver értéke is. # opció netbios-name-servers 192.168.0.1; # DNS szerverünket már felemeltük, ezért megadjuk a címét opció domain-name-servers 192 .168 .0 .1 ; } # meghatározott MAC-címeket meghatározott IP-címekhez "köt". host admin (hardver ethernet 03 :03 :03 :03 :03 :03 ; fix cím 192 .168 .0 .2 ; ) hosztszerver (hardveres ethernet 04 :04 :04 :04 :04 :04 ; fix cím 192 .168 .0 .3 ; }

Adja hozzá a következő sorokat az /etc/rc.conf fájlhoz:

és indítsa el a DHCP szervert:

Minden rendben. A legegyszerűbb dir-300 funkcionalitása megvalósult.

Ebben a cikkben a hálózati interfészeket tekintjük át FreeBSD 11.1, mutassuk meg a hálózati beállításokat a konfigurációs fájlon keresztül / etc / rc.conf, nevezetesen a cél statikus beállításokat és azok végrehajtását DHCP.Írjuk fel a címeket DNS-szerverek, beállítása otthont adés fontolja meg az indikációt ideiglenes hálózati beállítások.

Hálózati interfészek megtekintése.

Először is tisztázzuk: A hálózati kártyának két állapota van FEL(benne) és LE(nem használt).

Első lépésként nézzük meg a hálózati interfészeinket, mi a paranccsal fogjuk megnézni ifconfig(1. ábra) A parancskimenet az összes interfészt mutatja FELés LE.

Ifconfig

ifconfig -a ugyanazt fogja mutatni.

Ifconfig -a

Itt van néhány eltérés ifconfig v Ubuntu szerver .(v Ubuntu szerver "ifconfig" csak az interfészeket mutatja FEL,"ifconfig -a" megmutatja az összes interfészt és FELés LE)

1. ábra - Az ifconfig parancs beírásának eredménye.

És mit látunk:

  • em0- a hálózati kártyánkat, IP-címmel 192.168.3.11 .
  • em1- a második hálózati kártya nincs konfigurálva.
  • íme- helyi hurok, alapértelmezés szerint mindenkinél jelen van.

Csak az interfészek megtekintéséhez FEL, a parancs használatos ifconfig -u(2. ábra):

Ifconfig -u

és csak az interfészek megtekintéséhez LE, a parancs használatos ifconfig -d(3. ábra):

Ifconfig -d
2. ábra - Az ifconfig -u parancs beírásának eredménye.
3. ábra - Az ifconfig -d parancs beírásának eredménye.

A jövőben mutatok példákat a beállításokra a felületen. "em0".

Az interfész engedélyezéséhez használja a parancsot ifconfig"NÉV-INTERFÉSZ" fel.

Ifconfig em0 fel

Az interfész kikapcsolásához használja a parancsot ifconfig "NÉV-INTERFÉSZ" le.

Ifconfig em0 le

"Játszadozni" interfésszel, hacsak nem csatlakozik sshés hagyja olyan állapotban FEL.

A hálózat beállítása a konfigurációs fájlon keresztül.

Statikus vagy dinamikus IP-cím konfigurálásához szerkesztenünk kell a hálózati interfész konfigurációs fájlját - / etc / rc.conf-val szerkesztjük szöveg szerkesztővi(4. ábra) Azonnal elmondom, hogy be tudjam szerkeszteni vi meg kell nyomni egy betűt "én" gombot, majd a dokumentum mentéséhez és bezárásához nyomja meg a gombot "Kilépés" bemutatni ": wq!"és nyomja meg "Belép".

4. ábra - vi /etc/rc.conf.

Hálózati beállítások beszerzése DHCP-n keresztül.

A beállítások fogadásának DHCP-n keresztüli hozzárendeléséhez be kell írnia (vagy módosítania kell a meglévő) sort a / etc / rc.conf(5. ábra)

ifconfig_NÉV-INTERFÉSZ= "DHCP"

Ifconfig_em0 = "DHCP"
5. ábra - Fogadás hálózati beállítások DHCP-n keresztül.

Újrakezd hálózati szolgáltatás netif(6. ábra)

/etc/rc.d/netif restart 6. ábra - A FreeBSD hálózati szolgáltatás újraindítása.

Megnézzük az aktív hálózati interfészeket, látjuk, DHCP-n keresztül kapott, az interfész IP címét em0- 192.168.3.6 (7. ábra)

Ifconfig -u

Ping 8.8.8.8
7. ábra - Aktív interfészek és hálózati hozzáférés ellenőrzése.

Jönnek a pingek. Minden tökéletesen!

A hálózati beállítások kézi megadása.

Statikus cím hozzárendeléséhez Freebsd fájlozni kell / etc / rc.confírjon be két sort (8. ábra)

ifconfig_NÉV-INTERFÉSZ= "inet IP-CÍM-FREEBSD hálózati maszk MASZK HÁLÓZAT "

defaultrouter = " GATEWAY IP CÍM "

Ifconfig_em0 = "inet 192.168.3.11 hálózati maszk 255.255.255.0" defaultrouter = "192.168.3.1"
8. ábra - A hálózati interfész statikus beállításai.

Újraindítjuk a hálózati szolgáltatást.

/etc/rc.d/netif újraindítás

Aktív interfészek ellenőrzése

Ifconfig -u

A Google Eights pingelésével ellenőrizzük az internet-hozzáférést.

Ping 8.8.8.8

DNS beállítás.

IP-címek DNS szerverek fájlban tárolva / etc / resolv.conf(9. ábra)

Nyitunk resolv.conf a szerkesztőben vi.

Vi /etc/resolv.conf

Belépünk IP cím DNS szerver. (Annyi címet adhat meg, amennyit csak akar.)

Névszerver 192.168.3.1 névszerver 8.8.8.8 névszerver 8.8.4.4

Ha nincs fájlja resolv.conf majd hozza létre a könyvtárban / stb

Érintse meg az /etc/resolv.conf fájlt
9. ábra – A resolv.conf fájl tartalma.

Az / etc / hosts fájl.

Az / etc / fájl otthont ad táblázatokat tartalmaz a DNS-nevek IP-címekre való leképezéséhez. Először is, a szerver hozzáfér a fájlhoz otthont ad, majd a DNS-kiszolgálóra.

Magam számára megjegyeztem, hasznos hozzáfűzni otthont ad ezt rögzíteni freebsd(A helyi hálózat IP-címe a szerver neve). Most már minden konfigurációs fájlban megadhatjuk DNS név, és nem az IP-címet, és ha szükséges, a legrövidebb időn belül módosítsa az IP-címét javítással otthont adés az interfész beállításai a / etc / mappában rc.conf.

Ez csak egy példa, hogy ezt tedd. nem szükséges.

Kezdjük a szerkesztést (10. ábra):

Vi / etc / hosts

Belépek:

192.168.3.11 freebsd.itdeer.loc 10. ábra – A hosts fájl tartalma.

A nevek pingelésével ellenőrizni fogom otthont ad(11. ábra)

Ping localhost ping freebsd.itdeer.loc
11. ábra - Nevek pingelése gazdagépektől.

Ideiglenes IP-cím hozzárendelése.

Őszintén szólva nem tudom, mire lehet hasznos a hálózati beállítások ideiglenes hozzárendelése. Hacsak nem tegyük fel, hogy van valamilyen kiszolgálója, amelyet csak a helyi hálózathoz terveztek, és hirtelen úgy döntött, hogy gyorsan frissíti a szoftvert az interneten keresztül ezen a kiszolgálón, hogy ne menjen át az átjáróhoz, ne terjessze az internetet a kívánt IP-címre. cím stb. Pár paranccsal meg lehet oldani.

Például tudjuk, hogy a 192.168.3.109 Internet hozzáférés biztosan van, ezt az IP-címet rendeljük hozzá a felületünkhöz, meg kell adni a hálózati maszkot is (12. ábra):

Ifconfig em0 192.168.3.109 hálózati maszk 255.255.255.0

vagy egy parancs egy rövid hálózati maszk bejegyzéssel.

Ifconfig em0 192.168.3.109/24
12. ábra - Ideiglenes beállítások megadása az em0 hálózati interfészhez.

Előfordulhat, hogy az Internet nem jelenik meg, mert nincs megadva alapértelmezett átjáró. Regisztráljuk és megpingáljuk a google nyolcast. (13. ábra)

Útvonal hozzáadása alapértelmezett 192.168.3.1 ping 8.8.8.8
13. ábra - Adja meg az alapértelmezett átjárót. A ping ellenőrzése.

Az, hogy megfelelően regisztráltuk-e az alapértelmezett átjárónkat, az útválasztási táblázatban látható. A parancs segítségével jelenik meg "netstat -rn" Az alapértelmezett átjárót zászló jelzi UG(14. ábra)

Netstat -rn
14. ábra - Az útválasztási táblázat kimenete.

Ha valahol elírta a helyesírást, vagy más átjárót adott meg, akkor megteheti távolítsa el az alapértelmezett átjárót.

Alapértelmezett útvonal

Ezzel befejeződik az ideiglenes konfigurálás, ne feledje, hogy a kiszolgáló vagy a szolgáltatások külön újraindítása után hálózatépítés, minden ideiglenes beállítás eltűnik.

Adjon hozzá egy útvonalat a 192.168.0.0/16 (Maszk 255.255.0.0) hálózathoz a 192.168.3.1/24 alapértelmezett átjárón keresztül

Útvonal hozzáadása 192.168.0.0/16 192.168.3.1

Lehetőség egy útvonal hozzáadására teljes maszkkal.

Útvonal hozzáadása -net 192.168.0.0 -hálózati maszk 255.255.0.0 192.168.3.1

Nevezze át az em0 felületet wan0-ra.

A kényelem kedvéért egyes adminisztrátorok átnevezik a felületeket, hogy azonnal láthassák, mire való a felület. Tegyük fel, hogy van egy átjárónk két hálózati interfésszel em0(internet) és em1(helyi hálózat), és az ilyen nevekkel való munkavégzés kényelmetlen, mivel a sok interfész megzavarhatja. Sokkal kényelmesebb az interfészekkel dolgozni wan0és lan1.

Mutatunk egy példát egy interfész átnevezésére. em0 v wan0 az / etc / fájlban rc.conf(15. ábra)

Ifconfig_em0 = "inet 192.168.3.11 hálózati maszk 255.255.255.0"

Cserélje ki két sorral:

Ifconfig_ em0 _name = " wan0"ifconfig_ wan0= "inet 192.168.3.11 netmaszk 255.255.255.0"
15. ábra - Az interfészek átnevezése az /etc/rc.conf fájlban.

Ne felejtse el újraindítani a hálózati szolgáltatást:

/etc/rc.d/netif újraindítás

Ellenőrizze, írja be a parancsot ifconfig -u... Látjuk a miénket wan0 a jobboldallal IP-cím. (16. ábra)

Ifconfig -u
16. ábra - Az interfész új nevének ellenőrzése. ifconfig -u.


Az útválasztó olyan eszköz, amely hozzáférést biztosít a helyi hálózathoz csatlakoztatott számítógépekhez az internethez. A FreeBSD segítségével hasonló útválasztót készíthet, és ez meglehetősen egyszerűen megtörténik, fontolja meg egy 20 ... 30 munkaállomásból álló kis helyi hálózathoz való útválasztó építésének lehetőségét.

Kiinduló adatok - egy PC két hálózati kártyával, telepített FreeBSD-vel (jelenleg FreeBSD 8.4 STABLE), a szolgáltatónk által megadott külső ip-cím, a szolgáltató átjárójának ip-címe és a DNS-szerver ip-címe.

Ha útválasztóvá szeretné alakítani, csak egy sort adjon hozzá az rc.conf konfigurációs fájlhoz:

# echo gateway_enable = ”IGEN”> /etc/rc.conf

Ez lehetővé teszi az ip-csomagok átjutását egyik hálózati interfészről a másikra. Az ifconfig paranccsal információt találunk a hálózati interfészekről, és meghatározzuk, hogy melyik lesz „külső” (a szolgáltató ip-címét rendeljük hozzá), és melyik lesz „belső” (nem foglalt ip-t rendelünk hozzá). a belső helyi hálózat címe). Lássuk, mit kapunk:


Meghatározzuk az „em0”-t külső interfészként (a hozzárendelt ip 192.168.5.39), az „em1”-et az rc.conf fájl belső szerkesztéseként (hozzuk hozzá pl. ip 192.168.0.240), ugyanabban a fájlban azt szolgáltatónk átjárójának regisztrálásához szükséges

# echo defaultrouter = ”xxx.xxx.xxx.xxx”> /etc/rc.conf

Ahol xxx.xxx.xxx.xxx a szolgáltató átjárójának IP-címe.

Ennek eredményeként az rc.conf fájl következő formáját kaptam


Ezután regisztrálnia kell a szolgáltató DNS-szerverének ip-címét, hogy nevükön hivatkozhassunk az oldalra. Tegyünk egy bejegyzést konfigurációs fájl resolv.conf

# echo névszerver xxx.xxx.xxx.xxx> /etc/resolv.conf

Ahol xxx.xxx.xxx.xxx a DNS-kiszolgáló IP-címe.

Ha több DNS-szerver van, célszerű mindegyiket felsorolni, mindegyiket új sorral.


Esetünkben ezek a 192.168.5.200 és 192.168.5.201 szerverek IP-címei. Cím 8.8.8.8 DNS szerver nagyszerű Google, végső megoldásként használhatja.

Újraindítás...

# leállítás –r most

Ez az, az útválasztó kezdeti konfigurációja készen áll (konfigurálhatja a helyi hálózat PC-jét). Ezután megfontoljuk egy tűzfal beállítását, a hálózati címfordítás (NAT) engedélyezését és mindenféle útválasztási sémát.

Megvizsgáljuk a munkaállomások beállítását Windows operációs rendszer alatt az internethez (hogyan és hol kell regisztrálni a számítógép, az útválasztó és a DNS IP-címét). Pályázatként, hátha valakinek hirtelen szüksége lesz rá.

Megnézzük a router konfigurációjának folytatását (2. rész).