Interneto dalinimas

Iš UbuntuLt.

Peršokti į: navigaciją, paiešką

Interneto dalinimas (angl.Internet Connection Sharing (ICS)) suteikia galimybę padalinti internetą keliems kompiuteriams, kurie yra apjungti į tinklą.

Priklausomai nuo tinklo savybių, kompiuterių skaičiaus jame, galimi keli interneto dalinimo būdai. Tačiau pradžiai aptarsime papraščiausią (kai 2 kompiuteriai tarpusavyje sujungti laidu ar "wireless" pagalba)

Turinys

Pasiruošimas

Bet koks darbas su tinklo (ar interneto) konfigūravimu prasideda nuo tinklo įrenginių nustatymo. Norėdami išsiaiškinti, kokie tinklo įrenginiai yra kompiuteryje, pasinaudojam komanda ifconfig

$ ifconfig

eth0      Link encap:Ethernet  HWaddr 00:1d:72:28:0a:c7  
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::21d:72ff:fe28:ac7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5534 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5049 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:692215 (692.2 KB)  TX bytes:4672866 (4.6 MB)
          Interrupt:16 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5469 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5469 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1314085 (1.3 MB)  TX bytes:1314085 (1.3 MB)

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.33.154.94  P-t-P:10.33.154.95  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:19822 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20972 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:15351683 (15.3 MB)  TX bytes:2724512 (2.7 MB)

Kompiuteryje yra 2 fiziniai įrenginiai (eth0 - pagrindinė tinklo plokštė ir ppp0 - modemas), bei 1 virtualus įrenginys (lo) Pas jus įrenginių pavadinimai gali skirtis, tačiau konfigūravimo eigos tai nekeičia. Išsiaiškinus įrenginius, galima pereiti prie konfigūravimo.


Kompiuterio - šliuzo (gateway) paruošimas

Tam kad galėtumėm padalint internetą, reikalingi 2 veikiantys tinklo įrenginiai. Tai gali būti dvi tinklo plokštės (eth0 ir eth1), tinklo plokštė ir modemas (eth0 ir ppp0), ar bet kokie kiti tinklo įrenginiai.

Šiame straipsnyje remsiuos pavyzdžiu, jog internetas gaunamas modemo (ppp0) pagalba, o dalinsime jį pagrindinės tinklo plokštės (eth0) pagalba. Jūsų atveju gali būti naudojami kiti įrenginiai, tačiau, kaip jau minėta, konfigūravimo eigos tai nekeičia.

Pirmiausiai pasirūpiname tuo, kad kompiuteris prisijungtų prie interneto. Kaip tai padaryti, aprašyta čia

Įsitikinę kad internetas veikia, galima pradėti konfigūravimą.

Tinklo plokštės (eth0) nustatymas

Pirmiausiai priskiriame eth0 statinį IP adresą

$ sudo vi /etc/network/interfaces
auto eth0 inet static
         address 192.168.0.1 
         netmask 255.255.255.0
         broadcast 192.168.0.255
         network 192.168.0.0

192.168.0.1 - tai statinis IP adresas. Jį galima rinktis remiantis šiuo anglišku straipsniu, svarbu jog jis nebūtų viename potinklyje su išoriniu tinklo įrenginiu. Mūsų atveju, tai modemas (ppp0).

Sukonfigūravus tinklo plokštę, tam kad ji pradėtų veikti, reiktų perkrauti tinklą. Tačiau galima to išvengti. Tam surenkame:

$ sudo ifconfig eth0 192.168.0.1

NAT konfigūravimas

Sukonfigūruojam ugniasienę (iptables)

$ sudo iptables -A FORWARD -i ppp0 -o eth0 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
$ sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
$ sudo iptables -A POSTROUTING -t nat -j MASQUERADE 

Maršrutizavimo įjungimas

$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

ir pakoreguojame /etc/sysctl.conf , pridėdami arba atkomentuodami eilutes

net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1


"Kliento" konfigūravimas

Pirmiausiai sustabdome tinklo veikimą:

$ sudo /etc/init.d/networking stop

ir pradedame tinklo plokštės derinimą.


Kliento tinklo plokštės (eth0) nustatymas

Kaip ir prieš tai aprašytame pavyzdyje, mums reikia tinklo plokštei priskirti statinį IP adresą. Nustatinėjant IP svarbu, jog jis būtų iš to paties potinklio kaip ir kompiuteris-maršrutizatorius.

$ sudo vi /etc/network/interfaces
auto eth0 inet static
          address 192.168.0.2 
          netmask 255.255.255.0
          broadcast 192.168.0.255
          network 192.168.0.0

Siuntinėjimo (routing) sutvarkymas

$ sudo route add default gw 192.168.0.1

IP adresas turi būti koks pats, kokį priskyrėte kompiuteriui, kuris dalina internetą.

DNS

Ir galiausiai susitvarkome DNS.

$ sudo cp /etc/resolv.conf /etc/resolv.conf.backup
 
$ sudo vi /etc/resolv.conf
nameserver xxx.xxx.xxx.xxx <-- (IPT DNS serverio adresas)
nameserver xxx.xxx.xxx.xxx <-- (IPT DNS serverio adresas)

Viskas. Perkraunam tinklą

$ sudo /etc/init.d/networking restart

Ir bandom pingint koki žinoma resursą:

$ ping google.lt

PING google.lt (209.85.229.104) 56(84) bytes of data.
64 bytes from ww-in-f104.1e100.net (209.85.229.104): icmp_seq=1 ttl=52 time=687 ms
64 bytes from ww-in-f104.1e100.net (209.85.229.104): icmp_seq=2 ttl=52 time=663 ms
64 bytes from ww-in-f104.1e100.net (209.85.229.104): icmp_seq=3 ttl=52 time=663 ms