Az előző bejegyzésben láthattuk, hogyan konfigurálhatjuk az IPTables-t tűzfalként való működésre. Most pedig azt láthatjuk, hogyan hozhatunk létre szkripteket a szabályok automatikus futtatásához a rendszer indításakor, valamint hogyan törölhetjük vagy ideiglenesen leállíthatjuk ezeket a szabályokat.
Mielőtt elkészítenénk a szkriptet és megmutatnánk, hogyan néz ki, beszéljünk egy kicsit a NAT-ról és arról, hogy mit akarunk kezdeni ezzel a berendezéssel.
NAT és a példa kontextusa.
Amikor a NAT-ról beszélünk, összekeverhetjük ezt az útválasztással, mivel mindkettő két különböző hálózat összekapcsolásáért felel. A különbség valójában az, hogy az útválasztást úgy alkalmazzák, hogy egyik helyi hálózatról a másikra lépjen, és ez a másik hálózat csatlakozhat egy útválasztóhoz és kimenhet az internetre.
Míg amikor a NAT-ról beszélünk, a csomagok helyi vagy magánhálózatról nyilvános hálózatra vagy Internetre történő átirányításáról beszélünk. Ezt úgy teszi, hogy eltakarja a csomagokat azáltal, hogy felteszi a nyilvános IP-címet, amellyel az internetre megy. Más szavakkal, nincs szükségünk routerre, mert a nyilvános IP közvetlenül a GNU / Linux számítógép tulajdonában van.
Ezt azzal a jelmondattal fogjuk dolgozni, hogy a Linux-ot routerként / tűzfalként használjuk, hogy helyi hálózatról internetezhessünk. De itt két forgatókönyv jelenhet meg.
- Hogy Linuxunk a szolgáltató útválasztója és a helyi hálózat között van.
Ebben az esetben egy hálózat lenne a router és a Linux rendszerünk között, és egy másik hálózat a Linux rendszer és a helyi hálózat között. Ez azt jelenti, hogy a routerünknek nem kellene NAT-ot végrehajtania; az egyszerű forgalomirányítás, ahogy az előző bejegyzésben leírtuk, elegendő lenne.
- Hogy Linuxunknak van egy interfésze a helyi hálózathoz csatlakoztatva, és a másik felületen keresztül közvetlenül kap egy nyilvános IP-t, amellyel navigál.
Ez azt jelenti, hogy Linuxunknak NAT-t kell tennie, hogy a csomagok elérhessék az internetet.
E kis laboratórium céljaira akkor azt mondjuk, hogy Linuxunk közvetlenül kap nyilvános IP-t, és így képes lesz tesztelni a NAT hatásait.
A NAT elvégzéséhez használjuk a szintaxist
iptables -t nat -A POSTROUTING -O eth1 -j MASZKERÁD
Ahol az eth1 az a felület, ahol megkapjuk a nyilvános IP-címet, vagyis ahol az Internetet használjuk.
Iptables szkript létrehozása
Tegyük fel tehát, hogy: a 172.26.0.0 a helyi hálózatunk, a 81.2.3.4 pedig a nyilvános IP, amellyel az internetet használjuk. (ez egy statikus ip). Megvan az eth0 interfész (helyi hálózat)
eth1 (Nyilvános hálózat).
Alapvetően egy olyan szkript létrehozásából áll, amelyet például az /etc/init.d/firestop címen lehet meghívni. és ebből a szkriptből elindíthatjuk, leállíthatjuk vagy ellenőrizhetjük a konfigurációnk állapotát, akárcsak bármely rendszerdémon esetében.
Tegyük fel, hogy az IPTABLES szabályaim:
#! / bin / bash # Az otthonom tűzfala. # Fájlnév / etc / firewall_on # Írta: Jlcmux Twitter: @Jlcmux # # Alapvető irányelvek. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT az internet megosztásához eth0-tól eth1-ig iptables -t nat -A POSTROUTING -O eth1 -j SNAT --forráshoz 81.2.3.4 # # Az iptables által indított bejövő kapcsolatok engedélyezése -A FORWARD -m állapot - állam LÉTREHOZOTT, KAPCSOLÓDÓ -j ACCEPT # # Engedélyezett kimenő forgalom iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p tcp --port 443 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 53 -j ACCEPT
Magyarázat:
A szkript alapvetően a következőket teszi:
- Először korlátozza az összes navigációt, kapcsolatot és forgalmat. (Alapvető tűzfalszabályok)
- Ezután hozza létre a NAT-ot az eth1 célállomással. jelezve, hogy statikus nyilvános ip-vel rendelkezünk "81.2.3.4"
- Megnyitja azokat a portokat, amelyek szükségesek az általam kezdeményezett kapcsolati csomagok fogadásához.
- Elfogadja a kimenő HTTP, HTTPS és DNS forgalmat.
Ha a felszerelésünket navigáláshoz akarjuk használni, ismételjük meg a sorokat, és a FORWARD értéket állítsuk át INPUT vagy OUTPUT értékre.
Szkript törlése.
Most egy olyan szkriptet fogunk létrehozni, amely felülírja a fentieket, és tisztán hagyja a számítógépet mindettől. (Tesztelés céljából, vagy csak ki akarjuk kapcsolni a tűzfalat).
#! / bin / bash # Az otthonom tűzfala. # Fájlnév / etc / firewall_off # Írta: Jlcmux Twitter: @Jlcmux # # iptables szabályok törlése -F # # Alapértelmezett házirendek alkalmazása (az összes forgalom elfogadott) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
Automatizálás.
Most létre kell hoznunk a szkriptet az /etc/init.d/ fájlon belül , hogy a szolgáltatás automatikusan elinduljon, és könnyebben tudjuk kezelni.
#! / bin / bash # Az otthonom tűzfala. # Fájlnév /etc/init.d/ tűzfal # Jlcmux Twitter: @Jlcmux esetben $ 1 az elején) / etc / firewall_on ;; stop) / etc / firewall_off ;; állapot) iptables -L ;; *) echo "Rossz szintaxis. Érvényes = /etc/init.d/ tűzfal indítása | leállítás | állapot ;; esac
Magyarázat:
Ezt az utolsó szkriptet az /etc/init.d/ fájlba helyezzük „firewall” néven . Ezután, ha kezelni szeretnénk a tűzfalat, használhatjuk az /etc/init.d/firewall start parancsot. Ugyanígy le is állíthatjuk, vagy ellenőrizhetjük az állapotát.
Most szerkeszteni fogjuk az /etc/rc.local fájlt , és hozzáadunk valami ilyesmit: /etc/init.d/firewall start , hogy a rendszerrel induljon.
Is. Ez a második rész. Remélem, ez mindannyiótoknak hoz valamit. A következőben látjuk a Proxy-t és az IDS-t.