Edellisessä viestissä näimme, miten IPTables konfiguroidaan toimimaan palomuurina. Nyt näemme, miten luodaan skriptejä sääntöjen automaattiseen suorittamiseen järjestelmän käynnistyksen yhteydessä, ja miten nämä säännöt poistetaan tai pysäytetään väliaikaisesti.
Ennen kuin teet komentosarjan ja näytämme sinulle, miltä se näyttää, puhutaan vähän NAT: sta ja käsitteestä, mitä haluamme tehdä tällä laitteella.
NAT ja esimerkin konteksti.
Kun puhumme NAT: sta, voimme sekoittaa tämän reititykseen, koska molemmat vastaavat kahden eri verkon yhdistämisestä toisiinsa. Todellinen ero on, että reititystä käytetään siirtymään paikallisesta verkosta toiseen ja tämä toinen verkko voi muodostaa yhteyden reitittimeen ja mennä Internetiin.
Kun puhumme NAT: sta, puhumme pakettien reitittämisestä paikallisesta tai yksityisestä verkosta julkiseen verkkoon tai Internetiin. Se tekee tämän peittämällä paketit asettamalla julkisen IP-osoitteen, jolla se menee Internetiin. Toisin sanoen, emme tarvitse reititintä, koska julkinen IP on suoraan GNU / Linux-tietokoneen omistuksessa.
Työskentelemme tämän iskulauseen kanssa, että käytämme Linuxia reitittimenä / palomuurina Internetiin lähiverkosta. Mutta tässä voi näkyä kaksi skenaariota.
- Että Linux on palveluntarjoajan reitittimen ja paikallisen verkon välillä.
Tässä tapauksessa reitittimen ja Linux-järjestelmämme välillä olisi yksi verkko ja Linux-järjestelmän ja lähiverkon välillä eri verkko. Tämä tarkoittaa, että reitittimemme ei tarvitsisi suorittaa NAT:ia sinänsä; yksinkertainen liikenteen reititys, kuten edellisessä viestissä selitettiin, riittäisi.
- Että Linuxillamme on liitäntä paikalliseen verkkoon ja toisen liitännän kautta se vastaanottaa suoraan julkisen IP: n, jolla se navigoi.
Tämä tarkoittaa, että Linuxin on tehtävä NAT, jotta paketit pääsevät Internetiin.
Tämän pienen laboratorion tarkoituksia varten sanomme sitten, että Linuximme saa julkisen IP: n suoraan ja pystyy siten testaamaan NAT: n vaikutuksia.
NAT: n tekemiseksi käytämme sitten syntaksia
iptables -t nat -A JÄLJITTELY -O eth1 -j MASQUERADE
Missä eth1 on käyttöliittymä, johon vastaanotamme julkisen IP: n, eli missä käytämme Internetiä.
Iptables-komentosarjan luominen
Oletetaan sitten, että: 172.26.0.0 on paikallinen verkko ja 81.2.3.4 on julkinen IP, jolla käytämme Internetiä. (se on staattinen ip). Minulla on liitännät eth0 (paikallinen verkko)
eth1 (julkinen verkko).
Se koostuu periaatteessa komentosarjan luomisesta, jota voidaan kutsua esimerkiksi tiedostosta /etc/init.d/firestop. ja tästä skriptistä voimme aloittaa, pysäyttää tai tarkistaa kokoonpanomme tilan, aivan kuten minkä tahansa järjestelmän demonin kanssa.
Oletetaan, että IPTABLES-sääntöni OVAT:
#! / bin / bash # Kotini palomuuri. # Tiedostonimi / etc / firewall_on # Kirjoittaja Jlcmux Twitter: @Jlcmux # # Peruskäytäntö. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT Internetin jakamiseksi eth0: sta eth1: ään iptables -t nat -A POSTROUTING -O eth1 -j SNAT - lähteeseen 81.2.3.4 # # Salli iptables-laitteeni käynnistämät saapuvat yhteydet - Eteenpäin -m-tila - valtio PERUSTETTU, LIITTYVÄ -j HYVÄKSY # # Valtuutetun lähtevän liikenteen iptables -A Eteenpäin -i eth0 -o eth1 -p tcp --portti 80 -j HYVÄKSY iptables -A ETEEN -i eth0 -o eth1 -p tcp --port 443 -j HYVÄKSY Iptables -A ETEEN -i eth0 -o eth1 -p udp --portti 53 -j HYVÄKSY
Selitys:
Skripti tekee pohjimmiltaan seuraavat:
- Rajoita ensin kaikki navigointi, yhteydet ja liikenne. (Palomuurin peruskäytännöt)
- Luo sitten NAT kohdekohteella eth1. mikä osoittaa, että meillä on staattinen julkinen ip «81.2.3.4»
- Se avaa portit, jotka ovat tarpeen minun aloittamieni yhteyspakettien vastaanottamiseksi.
- Hyväksyy lähtevän HTTP-, HTTPS- ja DNS-liikenteen.
Jos haluamme käyttää laitteitamme navigointiin, meidän on toistettava rivit ja vaihdettava FORWARD-asetukseksi INPUT tai OUTPUT tarvittaessa.
Peruuta komentosarja.
Nyt aiomme luoda komentosarjan, joka ohittaa kaikki yllä olevat ja jättää tietokoneen puhtaaksi kaikesta. (Testausta varten tai haluamme vain sammuttaa palomuurin).
#! / bin / bash # Kotini palomuuri. # Tiedostonimi / etc / firewall_off # Kirjoittaja: Jlcmux Twitter: @Jlcmux # #Iptables-sääntöjen poistaminen -F # # Oletuskäytäntöjen soveltaminen (kaikki liikenne hyväksytty) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
Automatisointi.
Nyt meidän on luotava skripti tiedostoon /etc/init.d/ , jotta palvelu käynnistyy automaattisesti ja voimme hallita sitä helpommin.
#! / bin / bash # Kotini palomuuri. # Tiedostonimi /etc/init.d/ palomuuri # Kirjoittaja Jlcmux Twitter: @Jlcmux tapaus $ 1 alussa) / etc / firewall_on ;; stop) / etc / firewall_off ;; tila) iptables -L ;; *) echo "Väärä syntaksi. Voimassa = /etc/init.d/ palomuurin käynnistys | lopeta | tila ;; esac
Selitys:
Sijoitamme tämän viimeisen komentosarjan tiedostoon /etc/init.d/ nimellä "firewall" . Jos sitten haluamme hallita palomuuria, voimme käyttää komentoa /etc/init.d/firewall start. Voimme myös pysäyttää sen tai tarkistaa sen tilan samalla tavalla.
Seuraavaksi muokkaamme tiedostoa /etc/rc.local ja lisäämme siihen jotain seuraavanlaista: /etc/init.d/firewall start , jotta se käynnistyy järjestelmän käynnistyessä.
Yhtä hyvin. Tämä on toinen osa. Toivon, että se tuo jotain teille kaikille. Seuraavassa näemme välityspalvelimen ja IDS: n.