Interneto dalinimas
Iš UbuntuLt.
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

