Sdílení internetového připojení

15.12.2010 16:37

 

Univerzální postup s využitím CLI nástrojů

 

 

Nastavení serveru

 

  • Budeme potřebovat dvě síťové karty (jednu pro připojení k internetu, druhou pro připojení k vlastní síti), nebo jednu síťovou kartu a rozhraní PPP (které zprostředkovává připojení k internetu). Jedna síťová karta je připojena k vaší vlastní síti, nazveme ji eth0. Druhá karta, či PPP rozhraní, které je připojeno k internetu nazveme eth1 či ppp0. Předpoklad pro úspěšné sdílení je, že počítač má v síti přidělenou vlastní ipadresu. Což lze ověřit pomocí příkazu ip address show, či pomocí network manageru vpravo nahoře na liště.

  • Poté nastavíme NAT pomocí iptables

    •  sudo iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/24 -m state --state NEW -j ACCEPT
       sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
       sudo iptables -A POSTROUTING -t nat -j MASQUERADE
  • Povolíme přeposílání paketů v systému
    • sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

 

Nastavení klienta

 

  • Zastavíme používání všech síťových rozhraní
    • sudo /etc/init.d/networking stop
  • Nastavíme IP adresu klienta v stejném rozsahu jako má server (například 192.168.0.xxx)

    • sudo ip address add  dev eth

      eth<x> nahradíme označením rozhraní na kterém se síť nachází, <ip> nahradíme adresou, např 192.168.0.2

  • Nastavíme směrování:
    • sudo route add default gw 

      kde <ip> je IP adresa serveru, například 192.168.0.1

  • Dodáme bránu pro nastavení DNS

    • gksudo gedit /etc/resolv.conf
      Přidáme na konec souboru:
      nameserver 

      <ip> nahradíme IP adresou serveru, například 192.168.0.1

 

Aktivace sdílení při každém startu počítače

 

  • Chcete-li mít zapnuté sdílení internetu do sítě po každém startu PC, je nutné zadávat výše zmíněné příkazy pokaždé když spustíte Váš počítač. Nejsnažší cestou automatizace tohoto procesu je zapsat požadavek do souboru rc.local .

  • Spustíme oblíbený editor a otevřeme soubor:
    gksudo gedit /etc/rc.local
  • Přidáme výše zmíněné řádky do souboru před řádek exit 0:

    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    
    ##připojení k internetu
    pppd &
    
    ##sdílení připojení
    iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.0/24 -m state --state NEW -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A POSTROUTING -t nat -j MASQUERADE
    sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
    
    exit 0

IconsPage/info.png Chcete-li poskytovat připojení na počítač s operačním systémem Windows, nastavte IP adresu serveru (192.168.0.1) ve Windows ve správci sítí v položce Výchozí Brána

 

DHCP server

 

Velmi pěkný návod jak vše nastavit, sice v AJ, ale se základní znalostí to nastaví každý. zde

 

GUI NetworkManageru

 

 

Nastavení serveru

 

Novější verze NetworkManageru (0.7+, tzn. *buntu 8.10+, případně i 8.04 s tímto repozitářem) dovedou totéž zařídit automaticky a to včetně DHCP serveru. Postup je následující:

  1. vytvořte nový profil u rozhraní, které chcete použít ke sdílení připojení k internetu ostatním (buď drátěnou nebo bezdrátovou síťovku)
  2. v nastavení IPv4 přepněte na "sdíleno ostatním počítačům" a pokud nevíte co děláte, všechno ostatní klidně ignorujte
  3. potvrďte nastavení nového síťového profilu a zavřete dialog s nastavením NetworkManageru

  4. použijte nově vytvořený profil na dané rozhraní

Pokud profil na daném rozhraní drží, aniž by se během chvíle zase odpojil, je vše v pořádku; pokud ne, zkuste přeinstalovat balíček dnsmasq-base a případně aktualizovat NetworkManager ze zmíněného repozitáře.

 

Nastavení klienta

 

Stačí použít libovolný síťový profil, který dané síťové rozhraní konfiguruje automaticky pomocí DHCP.

 

Aktivace sdílení při každém startu počítače

 

Stačí kromě zmíněného nastavení IPv4 také povolit automatické použití vytvořeného síťového profilu na dané síťové rozhraní (zatrhněte "připojovat automaticky") a případně nastavit profil jako globální (zatrhněte "pro všechny uživatele"), aby se připojení sdílelo i když není na "serveru" nikdo přihlášen.

 

DHCP server

Nemusíte nic řešit, tohle si NetworkManager zařídí sám pomocí dnsmasq z balíčku dnsmasq-base, který je součástí základní instalace.

 

Zdroj: wiki.ubuntu.cz