Internett-gateway på linux for en organisasjon. Sette opp en Internett-tilkobling via pppoe. Se nettverksbelastning med iftop

Tidligere har jeg allerede vurdert å sette opp programvarerutere på operativsystemer. freebsd-systemer og centos. I dag ønsker jeg å sette opp en internett-gateway for mitt LAN basert på populær linux Debian-distribusjonen. La oss forberede serveren og implementere den grunnleggende funksjonaliteten som er nødvendig for å få tilgang til Internett fra det lokale nettverket.

jeg skal jobbe med neste server:

# uname -a Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) x86_64 GNU/Linux # cat /etc/debian_version 8.3

Serveren har 2 nettverksgrensesnitt:

Konfigurasjonsfilen for nettverksgrensesnittet ser slik ut:

# cat /etc/network/interfaces source /etc/network/interfaces.d/* auto lo iface lo inet loopback tillate-hotplug eth0 iface eth0 inet dhcp tillate-hotplug eth1 iface eth1 inet statisk adresse 10.0.15.1 nettmaske 255.255.255.

Forberedelse av gateway

Ovenfor ga jeg en lenke til en detaljert artikkel som beskriver serverinnstillingene generelt formål. Vi skal nå gjøre noen forberedende handlinger ingen detaljer eller beskrivelse. Du kan lese dem separat. Nå er det bare de nødvendige kommandoene.

Nettverket ble satt opp på den fremtidige programvareruteren, det er Internett-tilgang på serveren. La oss oppdatere den:

# apt-get update # apt-get upgrade

Installer MC, det er mest praktisk for meg å jobbe i det, inkludert i editoren mcedit:

# apt-get -y installer mc

Still inn tidssonen hvis du ikke allerede har gjort det:

# dpkg-reconfigure tzdata

Installerer tjenesten ntp til automatisk oppdatering tid:

# apt-get -y installer ntp

Dette fullfører de viktigste forberedende trinnene. La oss begynne å sette opp gatewayen.

Ruting, brannmur og nat-konfigurasjon

Det første trinnet er å aktivere pakkerouting mellom nettverksgrensesnitt. For å gjøre dette, rediger konfigurasjonen /etc/sysctl.conf:

# mcedit /etc/sysctl.conf net.ipv4.ip_forward=1

Enten fjernkommenterer denne linjen eller legg den til hvis den ikke eksisterer. Men som standard skal den kommenteres med verdien 1. Bruk denne innstillingen:

# sysctl -p

Ved utgangen av kommandoen vil den endrede parameteren med verdien 1 vises i konsollen.

La oss nå gå ned til det viktigste - og nata i det for å gi Internett-tilgang fra det lokale nettverket. Jeg dekket dette emnet i stor detalj i en egen artikkel. Selv om der vi snakker på en annen distribusjon, er selve iptables-reglene nøyaktig de samme opp til en linje, bortsett fra en liten nyanse knyttet til det faktum at reglene må lagres i en annen fil for å kunne bruke dem etter en omstart.

Jeg vil her gi en ferdig versjon av filen med iptables regler kreves for at internettporten skal fungere i debian. Filen inneholder detaljerte kommentarer for alle verdier, slik at du enkelt kan finne ut av det og kommentere eller tvert imot, fjerne kommentarene til verdiene du trenger. Last ned iptables-regelskriptet -

Kopier innholdet i filen og lag et skript med regler på serveren:

# mcedit /etc/iptables.sh

Lim inn reglene i editoren. Vi redigerer dem for å passe våre behov, pass på å erstatte WAN- og LAN-variablene med våre egne. Vi lagrer filen.

Før du går videre, advarer jeg deg om at alt arbeid med å sette opp brannmuren kun bør gjøres hvis du har tilgang til serverkonsollen, slik at i tilfelle feil og tap fjerntilgang du var i stand til å rulle tilbake endringene. Selv om du er helt trygg på kunnskapen din, kan en banal feil eller skrivefeil svikte deg. Dessverre har jeg selv vært borti slike situasjoner, så jeg anser det som nødvendig å advare om dette.

Vi gjør filen med reglene kjørbar:

# chmod 0740 /etc/iptables.sh

Før vi tar i bruk de nye reglene, la oss se på de gjeldende:

# iptables -L -v -n

Vi ser at brannmuren er helt åpen på den tilpassede ruteren. Nå tar vi i bruk de nye reglene og ser på resultatet:

# /etc/iptables.sh

Alt er i orden, reglene er tatt i bruk, jeg har ikke mistet tilgangen til serveren. La oss nå sørge for at de nye reglene brukes etter en omstart. Den siste linjen i skriptet inneholder kommandoen:

/sbin/iptables-save > /etc/iptables.rules

Med hennes hjelp klart sett iptables-regler dumpes til en fil. Vi må sørge for at disse reglene brukes når de er aktivert nettverksgrensesnitt mens serveren laster. For å gjøre dette, åpne filen grensesnitt for redigering og legg til helt til slutten av linjen:

# mcedit /etc/network/interfaces post-up iptables-restore< /etc/iptables.rules

For å sjekke starter vi gatewayen på nytt og sjekker om alt er i orden. Faktisk er den grunnleggende konfigurasjonen av programvareruteren på debian fullført. Det gjenstår å lage et lite tillegg og konfigurere dhcp Og dns server på det lokale nettverket. For disse formålene bruker jeg en enkel og lett å konfigurere dnsmasq.

Installere og konfigurere dnsmasq på Debian

La oss installere dnsmasq på debian:

# apt-get install -y dnsmasq

La oss gjøre minimumsinnstilling programmer. Vi trenger bare å gi brukere nettverksinnstillinger. For dette presenterer vi konfigurasjonsfil dnsmasq til følgende skjema:

# mcedit /etc/dnsmasq.conf domene-nødvendig falsk-priv interface=eth1 dhcp-range=eth1,10.0.15.50,10.0.15.150,24h

I denne saken vi vil gi brukerne ip-adresser i området fra 10.0.15.50 til 150. Lagre konfigurasjonen, legg til programmet til oppstart og kjør det.

# insserv dnsmasq # /etc/init.d/dnsmasq start

Nå kan du starte den lokale nettverksbrukerens datamaskin, få nettverksinnstillinger via dhcp og sjekke driften av Internett-gatewayen.

Du kan se utstedte leiekontrakter i filen /var/lib/misc/dnsmasq.leases. Dette fullfører oppsettet av Internett-gatewayen på debian 8. Alt som er nødvendig for å gi Internett-tilgang fra det lokale nettverket er gjort. Det viste seg en programvareruter med brede muligheterå øke funksjonaliteten.

Se nettverksbelastning med iftop

La oss nå forestille oss en situasjon der noen blokkerte hele Internett-kanalen og du raskt må finne ut hvem som gjorde det. Som standard, ingen håndlangere og praktiske midler på gatewayen for dette formålet er ikke til stede. Installer ett av disse verktøyene - programmet hvis topp. Det er enkelt konsollverktøy, som gjør det mulig å raskt se statistikk over i sanntid.

Installer iftop på debian:

# apt-get install -y iftop

For å se aktiviteten til nettverksgrensesnittet, kjør verktøyet og spesifiser nødvendig nøkkel:

# iftop -i eth1

For å se portene som trafikken går på, legg til -P-bryteren:

# iftop -i eth1 -P

Basert på dette bildet er det allerede mulig å trekke visse konklusjoner om bruken av Internett-kanalen. Vær oppmerksom på at jeg ser på nedlastingen lokalt grensesnitt eth1. Hvis vi ser på eth0, vil vi kun se utgående tilkoblinger fra serveren.

Konklusjon

Slik kan du enkelt og raskt sette opp en ruter, ruter eller gateway til Internett. Navnene er forskjellige, men essensen er den samme. I dette tilfellet brukte jeg operativsystem Debian, men det er enkelt å organisere lignende funksjonalitet på eller . For å løse den nåværende oppgaven vil forskjellen i arbeid ikke være merkbar. Alle velger det de liker best og hva de er vant til.

La oss gå gjennom trinnene for det vi gjorde:

  1. Forberedte Debian-serveren for å sette opp gatewayen.
  2. Sett opp ruting, iptables, nat. Vi sjekket at all funksjonalitet er gjenopprettet etter en omstart.
  3. Installert og konfigurert enkel dhcp server og caching dns-server - dnsmasq. Med dens hjelp automatisert undervisning nettverksinnstillinger brukere.
  4. Installerte et enkelt overvåkingsverktøy nettverksaktivitet i konsollen i sanntid ved å bruke iftop-verktøyet.

Dette fullfører oppsettet. Som en fortsettelse av utviklingen av Internett-gateway-temaet, kan du gjøre for å kontrollere tilgang til Internett-ressurser, eller for å koble til grener eller eksterne ansatte. For et eksempel resulterte referanser til andre distribusjonssett. Over tid planlegger jeg å beskrive implementeringen av denne funksjonaliteten på debian. Grunnleggende forskjeller Nei, bare nyansene til forskjellige distribusjoner.

Nettkurs "Linux Administrator"

Hvis du har et ønske om å lære å bygge og vedlikeholde svært tilgjengelige og pålitelige systemer, anbefaler jeg å sette deg inn i nettkurs" Linux administrator» i OTUS. Kurset er ikke for nybegynnere, for opptak trenger du grunnleggende kunnskap av nettverk og Linux installasjon til det virtuelle Opplæringen varer i 5 måneder, hvoretter vellykkede kandidater av kurset vil kunne bli intervjuet av partnere. Test deg selv på opptaksprøven og se programmet nærmere. Gitt: 1. En datamaskin med to nettverkskort. 2. Debian eller Ubuntu Linux-distribusjon. (Jeg vil fortsatt anbefale Debian-servere) 3. Rette armer og friskt hode.

Så la oss komme i gang!
Først av alt, la oss installere Linux på datamaskinen, og spesifisere alle nettverksinnstillingene. Jeg anbefaler å installere Debian, og på tidspunktet for forespørselen har vi et valg nødvendige pakker, installer bare hovedkomponentene til systemet og openssh-serveren. Det er det, vi trenger ikke noe annet for at gatewayen skal fungere på linux. Ingen grafiske skall. Vi vil installere direkte, og deretter kan du koble til via ssh for administrasjon ekstern server, eller hvis ingen tastatur, mus og skjerm er tilkoblet. Installerer Debian på en datamaskin er litt annerledes enn å installere Ubuntu.

Etter å ha installert Linux på datamaskinen, må vi gjøre det til en gateway. For å gjøre dette, må han kunne gjøre noe.
1. Hopp over nettverkspakker gjennom deg selv. (FRAMOVER)
2. Oversett nettverksadresser (oversett LAN-adresser til 1 ekstern adresse, der brukeren vil gå online). Med andre ord slipper gatewayen (gatewayen) gjennom seg brukerne av det lokale nettverket under sin egen adresse. du kan kalle det programvareruter eller som du vil. Denne tjenesten kalles NAT (Network Address Translation).

Men først ting først. La oss først konfigurere nettverksgrensesnittene. Du tar de lokale nettverksinnstillingene fra deg selv, Internett-innstillingene fra leverandøren. Hvis tilgang til Internett ikke er via ip-autorisasjon, men via en xDSL-tilkobling, bruk pppoeconf-verktøyet.

La oss forestille oss at vi har 2 konfigurerte nettverksgrensesnitt. Disse er lokale (eth0) og eksterne (eth1). Det er Internett på gatewayen, Yandex-pinger, Google der også. Nesten siste oppgave er å få gatewayen vår på Linux til å slippe alle inn på Internett gjennom seg selv. Her vil jeg merke meg at linux har sin egen brannmur, og den kalles iptables. Som standard fungerer iptables slik - "Jeg vil ikke slippe noen inn, bortsett fra de forbindelsene som ble initiert av meg!" Men dette vil ikke fungere) Derfor konfigurerer vi iptables:

Gå:
1. Lag en fil kalt firewall.sh i mappen /etc/init.d/

# trykk på /etc/init.d/firewall.sh

2. Vi gir rett til lansering

# chmod 755 /etc/init.d/firewall.sh

3. Legg til skriptet vårt til oppstart. For sikkerhets skyld:)

# update-rc.d firewall.sh standardinnstillinger

4. Vel, faktisk redigerer vi manuset vårt.

# nano /etc/init.d/firewall.sh

La kjernen få vite at dette er et ekte .sh-skript

# !/bin/sh (her med #-symbolet og skriv inni! Dette er typen kommentar som kjernen trenger)

Aktiver videresending i Linux.

echo 1 > /proc/sys/net/ipv4/ip_forward (1 - på, 0 - av :))

Tilbakestill alle innkommende, utgående og videresendingsinnstillinger. Dette vil hjelpe oss å bli kvitt de "feil" iptables-reglene som er skrevet inn i konsollen. Bare kjør skriptet og reglene vil bli oppdatert:

iptables -F INPUT
iptables -F OUTPUT
iptables -F FREMOVER

Standard policy – ​​videresending tillatt:

iptables -P FRAM GODKJENT

La oss legge til en ny post-rutingsregel til "nat" nettverkstabellen. Logikken i regelen er som følger: Fra kilden "lokalt nettverk" må utgående pakker gjennom det eksterne grensesnittet "sendes" (overføres som en ekstern), men vi maskerer oss. Masquerade (MASQUARADE) gjør det mulig riktig drift med en dynamisk ekstern ip-adresse. iptables -A (ny regel) POSTROUTING (postrouting) -t (tabeller...) nat (...NAT) -s (kilde - fra kilde) 192.168.1.0/24 (alle lokale nettverk) -o (utgang - gjennom utgående...) eth1 (...grensesnitt eth1) -j (jobb - arbeid (hva skal man gjøre?)) MASQUERADE (masquerade). De. Jeg får denne iptables-regelen:

iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth1 -j MASQUERADE

Egentlig alt. Du kan også legge til noe som et varsel på slutten av skriptet, som vil indikere at skriptet har fungert:

echo brannmur regler akseptert
Lagre og lukk. (Hvis du redigerte gjennom nano, som i denne artikkelen, trykk deretter ctrl + o (lagre) ctrl + x (lukk)).
La oss nå kjøre skriptet vårt

/etc/init.d/firewall.sh

Så du meldingen "brannmurregler akseptert"? Var det noen feil? Gratulerer! Gateway på linux er klar! Nå vil alle datamaskiner fra ditt lokale nettverk kunne få tilgang til Internett, men uten noen begrensninger i det hele tatt. Og ja, hvis nettverket ditt ikke gjør det DNS-server men i klientinnstillingene må du spesifisere leverandørens DNS-server eller for eksempel DNS google server;) (adressen er lett å huske - 8.8.8.8)

iptables -A FORWARD -p igmp -i eth0 -o eth1 -j GODKJENNER
iptables -I INPUT -d 224.0.0.0/4 -j GODTAR
iptables -I FORWARD -d 224.0.0.0/4 -j GODTAR
route add -net 224.0.0.0 nettmaske 240.0.0.0 eth0
iptables -t filter -A INPUT -d 224.0.0.0/240.0.0.0 -i eth0 -j GODKJENNER
iptables -t filter -A INPUT -s 224.0.0.0/240.0.0.0 -i eth0 -j GODKJENNER
iptables -t filter -A FORWARD -d 224.0.0.0/240.0.0.0 -j GODKJENNER
iptables -t filter -A FORWARD -s 224.0.0.0/240.0.0.0 -j GODKJENNER
iptables -t mangle -A PREROUTING -d 224.0.0.0/240.0.0.0 -p udp -j TTL --ttl-inc 1

0. Oppgave

Nylig dukket oppgaven opp med å distribuere Internett i lokalt nettverk. Og ikke bare å distribuere, men også å etablere driftskontroll og brukeradministrasjon, samt skanning av innkommende trafikk for virus. Oppgave nummer to var å heve filserveren (også med antivirus) for å forby deling av mapper og overføre alle filer kun gjennom denne serveren.

I begynnelsen ble det besluttet å installere Ubuntu på en datamaskin med to nettverkskort og bruke IPTables for å omdirigere trafikk til Squid proxy-serveren, og for praktisk kontroll koble til SAMS-nettgrensesnittet. Etter en lang googling og snakking med venner ble avgjørelsen imidlertid endret, og ClarkConnect 4.3 ble valgt som distribusjonssett. Dens fordeler ligger i det faktum at den allerede har alt du trenger for å heve en server (WEB, FTP, Mail, proxy-server, tilgangsserver, filserver, etc.) for en liten og mellomstor organisasjon.

1. Installasjon

Du kan laste ned Clarkconnect Community. Distribusjonssettet deles ut i skjemaet iso-bilde for senere opprettelse installasjonsdisk. Mens platen brennes, kontroller at den valgte datamaskinen oppfyller minimumskravet Systemkrav(CPU 500Mhz, 512RAM, HDD 1Gb). Start installasjonen ved å starte opp fra den opprettede CD-en. Installasjonen foregår i tekstmodus, i form av en dialog, og er generelt veldig lik RedHat Linux. Blant språkene er det russisk, når du velger hvilket du vil motta en russifisert installasjon, en konsoll og litt av et nettgrensesnitt (så langt bare gjeldende status).
Høydepunkter: velge servermodus Standalone (isolert) eller Gateway (gateway) og partisjonere disken, etterfulgt av valg av tjenester. Når du bruker Gateway-modus, må du bruke minst to nettverksadapter. Denne modusen gir generell tilgang til Internett, med kontroll over innkommende og utgående tilkoblinger.
Ved partisjonering av disker må man passe på automatisk modus- all informasjon om dem vil bli ødelagt. Tilgjengelig manuell innstillingHjelpedisk Druide. Valget av tjenester avhenger av hvilke funksjoner du vil tilordne serveren.
Etter å ha kopiert filene og startet på nytt kan du logge på lokalt under regnskap root ved å bruke passordprompten. Her kan du konfigurere nettverksgrensesnitt og endre serverrollen (Standalone/Gateway). Det er også en trafikkanalysator og selvfølgelig en konsoll.
Et webgrensesnitt er tilgjengelig for å konfigurere serveren. Den er bare tilgjengelig som standard på internt grensesnitt(hvis det er behov for å logge på fra det eksterne grensesnittet, må du åpne port 81 i Firewall Incoming). Ring inn for å komme inn adressefeltet nettleser https://(ip-adressen til serveren):81. Ved første pålogging bruker du root-påloggingen med passordet som er angitt under installasjonen, og i fremtiden anbefales det å opprette en profil med administratorrettigheter og bruke den.

2.Innledende oppsett

Etter å ha gått inn i nettgrensesnittet, gå til Rapporter-menyen, elementet Current Status - du vil bli tatt til generell informasjon Om installert system. Her kan du se maskinvarekonfigurasjonen til serveren din, oppetid siden siste omstart og informasjon om filsystemer og monteringspunkter. Statusen for minnebruk lik 99% bør ikke reageres med økningen, uansett vil den brukes uten unntak. Det er også status for nettverksgrensesnitt og mengden trafikk som går gjennom dem.
Din første handling etter installasjonen vil være å registrere systemet på nettstedet (gratis) og laste ned nødvendige oppdateringer. Vi går til nettstedet www.clarkconnect.com, deretter til Logg inn-fanen og velger Opprett konto-elementet. Etter å ha mottatt innlogging og passord bruker vi dem ved registrering i webgrensesnittet ved å gå til Tjenester-menyen, punktet Registrer system. Etter at registreringen er fullført, gå til Kritiske oppdateringer og anbefalte oppdateringer. Velg alle oppdateringer og installer dem. I delen Programvaremoduler kan du se og installere tilleggsmoduler.

3. Tinktur av moduler.

Etter å ha oppdatert systemet, gå til System-menyen i fanen Running Services. På denne siden kan vi se statusen til tjenestene og administrere lanseringen av dem, og følge koblingen Konfigurer for å gå til sidene for å konfigurere dem. Nettgrensesnittet implementerer kun grunnleggende funksjoner deres innstillinger, som er tilstrekkelige til å sikre første gangs drift. For de som ønsker å implementere en mer komplett tjenesteadministrasjon, finnes det kommandolinje tilgjengelig via SSH.
Ikke glem å bruke Account Manager-menyen til å opprette administrator- og brukerprofiler og grupper. Husk at for eksempel i webmailen https://(ip-adressen til serveren din):83 er det umulig å logge inn under en konto rotoppføring.

4.Generell Internett-tilgang.
Hvis du valgte Gateway-serverrollen når du installerte Clarkconnect. så for å sikre offentlig tilgang alt på internett grunnleggende innstillinger er allerede tilstede.
Brannmuren er allerede konfigurert til å blokkere forespørsler på alle porter bortsett fra port 1875, som kreves for å kommunisere med www.clarkconnect.com. Alle utgående tilkoblinger er tillatt. Kontroll Brannmurmodul ganske enkelt og vil ikke forårsake vanskeligheter.
Med nettverksverktøy kan du se aktive forbindelser, rutingtabell og protokollstatistikk.
Også tilgjengelig er videresendte porter og tildeling av båndbredde til brukere / ip-adresser / porter med prioritert bruk. For eksempel, hvis en Asterisk-telefonserver kjører på nettverket ditt, kan dens ip-adresse eller port (sip-5060) settes til høyeste prioritet. Eller omvendt, en bruker som bruker Emule kan begrense båndbredden til 64kbit/sek og sette laveste prioritet. Alt dette konfigureres enkelt i nettverksmenyen, båndbredde-elementet.
For å spare trafikk og gjøre rede for det, bruk modulen Proxy-server. Når den er slått på transparent proxy du kan se statistikk over brukere/ip-adresser/datamaskinnavn i Rapport-menyen, Proxy-rapport.
Intrusion Detection/Prevention-modulen brukes til å gjenkjenne/blokkere angrep. Alle gjenkjennelige angrep tildeles en angrepskode, hvis betegnelse kan sees ved å klikke på den. IP-adresser som det oppdages angrep fra, er blokkert i 24 timer.
Du kan gjøre deg kjent med statistikken over driften av alle serversystemer i Rapport-menyen, Statistikk-elementet (grafisk representasjon). Loggfiler er der i Logger-elementet.

Dette notatet viser deg hvordan bruker iptables konfigurere systemer med Ubuntu 9.10-11.04, Debian 5 og 6 for å distribuere Internett til andre datamaskiner på det lokale nettverket. På enkelt eksempel vil vises som en maskin med to nettverksgrensesnitt (Internett går inn i det ene, det andre "forlater") for å gjøre det til en gateway.

La oss anta det maskinvare og nettverksdel er allerede fullt konfigurert, maskinen har et fungerende Internett og du kan se andre datamaskiner på nettverket. Derfor, la oss finne ut hva som er hva, for dette skriver vi inn kommandoen:
ifconfig
Det vil gi deg en liste over personer som jobber i dette øyeblikket nettverksgrensesnitt. Blant dem må du identifisere de som begynner med ordene "Link encap: Ethernet" - dette er nettverkskortgrensesnitt. Som regel er disse eth0 og eth1.
Nå må du identifisere hvem av dem som mottar Internett, og hvorfra det "forlater". Den enkleste måten å gjøre dette på er ved hjelp av deres ip-adresser.
Så la oss si at du får Internett gjennom eth0 (for eksempel gjennom et adsl-modem via ppp protokoll) og eth1 kobler deg til det lokale nettverket.
Hvis det lokale nettverket er konfigurert via nettverkssjef, så anbefaler vi at du skriver disse innstillingene direkte ien:
sudo nano /etc/network/interfaces
Her, korriger innstillingene for nettverksgrensesnittet som er koblet til det lokale nettverket (i vårt tilfelle eth1) tilsvarende:
auto eth1 iface eth1 inet statisk adresse 192.168.0.10 nettmaske 255.255.255.0 nettverk 192.168.0.0 kringkasting 192.168.0.255
Adresseverdien er IP-en til maskinen din på det lokale nettverket, og gatewayen vil faktisk være plassert på denne adressen.
Verdien av nettmaske - i lokale nettverk for dette området, oftest dette. For andre områder kan du beregne her.
Nettverks- og kringkastingsverdiene vil avhenge av adressen din. Det vil si at hvis din lokale ip er 10.0.0.10, vil nettverk og kringkasting være henholdsvis 10.0.0.0 og 10.255.255.255.

Eller det kan gjøres med bare én kommando:
sudo ifconfig eth1 192.168.0.10
Denne kommandoen vil uavhengig konfigurere eth1-nettverkskortet ditt til å bruke en statisk IP-adresse, og vil uavhengig skrive innstillingene beskrevet ovenfor til filen /etc/network/interfaces

I alle fall, etter disse endringene, start nettverket på nytt:
sudo /etc/init.d/nettverk omstart
Team:
ifconfig
sjekk at endringene har trådt i kraft og at alt fungerer.

Nå er det lite igjen å gjøre. Hvis du allerede har prøvd å konfigurere systemet med en gateway, men det fungerte ikke for deg, eller av en annen grunn vil du tilbakestille alle iptables brannmurinnstillinger, kan dette gjøres med følgende kommandoer:
iptables --flush iptables --tabell nat --flush iptables --slett-kjede iptables --tabell nat --slett-kjede
Hvis det ikke er direkte behov for å tilbakestille iptables-innstillingene, er det bedre å ikke gjøre dette.

Følgende kommandoer vil konfigurere iptables for NAT-oversettelse (NAT, Network Address Translation - "oversettelse" nettverksadresser") via Ubuntu gateway:
sudo iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT sudo iptables -A FORWARD -m conntrack --ctstate ETABLERT,RELATERET -j GODTAKTER - sudo iptTROS. -t nat -j MASKERADE
Hvis nettverksgrensesnittene du trenger er forskjellige fra eth0 og eth1, er det bare å endre den første linjen tilsvarende.
Hvis det lokale nettverket ditt er utenfor 192.168.x.x-området, kan du enkelt beregne nettverksmasken for den første linjen ved å bruke tjenesten Network Calculators.

Nå, for å konfigurere gatewayen for ruting mellom to grensesnitt, må du aktivere IP-videresending med kommandoen:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Og siste touch: du må redigere sysctl.conf-filen:
sudo nano /etc/sysctl.conf
Legg til disse to linjene for å aktivere ruting:
net.ipv4.conf.default.forwarding=1 net.ipv4.conf.all.forwarding=1
Etter det er Ubuntu-gatewayen din klar til bruk. Kan tilpasses klientmaskiner. I vårt eksempel vil gatewayen for dem være 192.168.0.10

Hvis alle endringene du har gjort fungerer riktig, og du vil gjøre disse innstillingene i autoload (nemlig ovenfor iptables-innstillinger blir inaktiv etter en omstart av systemet), og lagre den nåværende fungerende iptables-konfigurasjonen til en fil med kommandoen:
sudo sh -c "iptables-save > /etc/iptables.up.rules"
Etter det, i nettverksinnstillingsfilen /etc/network/interfaces (sudo nano /etc/network/interfaces) legg til linjen i beskrivelsen av nettverksgrensesnittet som Internett kommer til deg fra (i vårt tilfelle er det eth0) :
pre-up iptables-restore< /etc/iptables.up.rules
Så det vil se omtrent slik ut:
auto eth0 iface eth0 inet manuell pre-up iptables-restore< /etc/iptables.up.rules
Bare ikke endre verdiene i iface-linjen, bare legg til den gitte linjen sist i auto eth0-delen. Etter det, når du starter på nytt, vil de lagrede iptables-innstillingene stige automatisk.

Ved å bruke Linux OS er det enkelt å distribuere Internett til det lokale nettverket, som kablede nettverk samt wi-fi. For tiden er det mange rutere som er i stand til å utføre denne oppgaven.

Men de har også ulemper - noen fryser regelmessig uten grunn, og krever omstart, mens andre har begrenset tilgangsinnstillinger. Så hvis du ønsker å fullstendig kontrollere distribusjonen av Internett til det lokale nettverket, det beste alternativet vil sette opp en internettgateway på Linux.

Det er mange måter å tilpasse, alt avhenger av kvalifikasjonene til den som skal produsere den. Det er spesielle distribusjoner der du kan organisere slik tilgang gjennom veiviseren eller gjennom webgrensesnittet, det finnes grafiske programmer for organisering av Internett-gatewayen. Men i hjertet av alt er ett prinsipp for arbeid.

Sette opp en Internett-gateway på Linux

Distribusjon av Internett gjøres i Linux ved hjelp av brannmurer. Det er flere typer av dem, men den viktigste, som er i stadig utvikling, supplert med nye funksjoner, og samtidig enkel å konfigurere, er iptables.

I iptables kan du distribuere Internett ved hjelp av nettverksadresseoversettelse - NAT, og selve metoden kalles IP-maskering. Men i tillegg til å sette opp iptables-regler, må du laste inn kjernemodulene som er ansvarlige for nettverksadresseoversettelse (de er deaktivert som standard).

Den enkleste måten er å lagre iptables-innstillinger og laste inn kjernemoduler i en konfigurasjonsfil. Da gjenstår det bare å konfigurere utførelsen hver gang datamaskinen starter. Og selvfølgelig to nettverkskort- fra den ene mottar de Internett, og den andre vil distribuere Internett til det lokale nettverket. Eller en, hvis Internett-tilgang er organisert fra et USB-modem.

Her er et eksempel, husk at i dette tilfellet er iptables installert, men ikke konfigurert.

Prosessen med å sette opp selve Internett-gatewayen
Åpne konsollen med administratorrettigheter, lag en fil med kommandoen:

Trykk på /etc/nat.sh
Åpne i en kjent editor, her er et eksempel for nano:

Nano -w /etc/nat.sh
Og skriv inn linjene i den

#!/bin/bash
La oss erklære variabler, baner for det nødvendige kjørbare filer og betegnelser på nettverksgrensesnitt:

IPT=/sbin/iptables MDB=/sbin/modprobe
eth0 vil bli betraktet som grensesnittet som Internett kommer til datamaskinen, og eth1 er koblet til det lokale nettverket, hvor vil Internett-gatewayen distribuere trafikk på linux:

EX="eth0" INT="eth1"
Vi laster inn kjernemodulene som er nødvendige for NAT:

$MDB ip_tables $MDB ip_conntrack $MDB ip_conntrack_ftp $MDB ip_conntrack_irc $MDB iptable_nat $MDB ip_nat_ftp $MDB ip_nat_irc
Tillat pakkevideresending:

ekko "1" > /proc/sys/net/ipv4/ip_forward ekko "1" > /proc/sys/net/ipv4/ip_dynaddr
Tilbakestill alle iptables-innstillinger:

$ IPT -P-inngang Accept $ IPT -F-inngang $ IPT -P Output Accept $ IPT -F-utgang
I iptables er reglene konfigurert slik - først blir alle tilkoblinger nektet, og deretter opprettes regler som tillater en bestemt tilkobling

Sett en lås på alle kjeder:

$IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT ACCEPT
Her er tillatelsesreglene:

For det første, generelt, ikke distribuere Internett, men tillate passasje av pakker fra det eksterne grensesnittet:

$IPT -A INPUT -m conntrack --ctstate RELATED,ETABLISHED -j ACCEPT $IPT-A INPUT -i lo -j ACCEPT $IPT -A INPUT -m conntrack --ctstate UVALID -j DROP $IPT -A INPUT -p tcp -m multiport --dports 21,22,1024:6800 -j GODKJEN $IPT -A INPUT - multiport --dports 21,80,8080,443,3306,8000,411,22,27015,26016 -j ACCEPT
Og her er reglene som Internett-gatewayen på Linux vil være basert på - vi tillater pakkevideresending c ytre forbindelse til det lokale nettverket:

$IPT -A FORWARD -i $EX -o $INT -m stat --stat ETABLERET,RELATERET -j GODTAR $IPT -A FORWARD -i $ EX -o $ INT -j GODKJENNER
Aktiver adresseoversettelse:

$ IPT -t nat -A POSTROUTING -o $EX -j MASQUERADE
Nå lagrer vi filen, gjør den kjørbar, chmod +x /etc/nat.sh, legger til linjen sh /etc/nat.sh til rc.local-filen før exit 0-linjen. Start på nytt og sjekk om det er Internett på det lokale nettverket.

Dette er den enkleste måten, du kan organisere tilgangskontroll, både datamaskiner og nettsteder c uønsket innhold, tilkoblingsovervåking, men for dette det er bedre å bruke en Internett-gateway på Linux med en proxy-server, for eksempel SQUID.