Instalacja systemu

Wykorzystanie Ubuntu Server jako router sieciowy

Ostatnia aktualizacja: 16 września 2023, 12:56

felieton

W tym tutorialu pokażę wam jak wykorzystać komputer do stworzenia swojego własnego w pełni konfigurowalnego router’a sieciowego.

Oto schemat komputerów w sieci, którą stworzymy:

—modem—–komputer z Ubuntu Server—–Switch—–Komputer 1

Zajmiemy się konfiguracją komputera z Ubuntu Server, z którego zrobimy router a później będziemy mogli w łatwy sposób dodać do niego dodatkowe funkcjonalności (serwer WWW, serwer FTP, serwer SMB, serwer wydruku, firewall i wiele innych).

Do stworzenia naszego nowego routera z Ubuntu Server będziemy potrzebować kilku rzeczy:

  • komputer z dwiema kartami sieciowymi (nie musi to być najnowszy sprzęt, ja stawiałem router na kompie z procesorem 400MHz, 64MB RAM, dyskiem 6GB i śmigało aż miło),
  • czystą płytę lub pendrive,
  • trochę wolnego czasu.

1. Ściągamy odpowiedni obraz iso naszego systemu.

do artykułu wykorzystałem wersję 10.04 LTS, jako że takową miałem już na dysku, lecz w nowszych wygląda to dokładnie tak samo.

2. Następnie wypalamy obraz na płytę lub tworzymy bootowalnego pendrive:

  • Z wypalaniem chyba nie muszę tłumaczyć.
  • Z pendrive:

Windows

Linux

W Ubuntu polecam wbudowany program Kreator dysku startowego (Startup Disk Creator) – jego obsługa sprowadza się do wyboru pliku iso i wskazania pendrive.

Uwaga: Wszystkie dane z pendrive zostaną usunięte, więc lepiej wykonać najpierw backup.

3. Przystępujemy do instalacji:

Na początek instalacji należy podłączyć do naszego przyszłego routera klawiaturę i monitor, później nie będą one już nam potrzebne.

A więc włączamy komputer i bootujemy go z naszej płyty lub pendrive. Pojawi nam się menu z wyborem języka:

Wybieramy oczywiście Polski.

Następnie pojawia nam się główne menu instalacyjne, gdzie możemy wybrać instalację systemu lub sprawdzanie dysku lub pamięci RAM a także możliwość bootowania z dysku i naprawienie systemu:

Nas interesuje pierwsza opcja, więc wybieramy Zainstaluj Ubuntu Server .

Po rozpoczęciu instalacji, instalator zapyta nas o detekcję klawiatury.
Możemy potwierdzić (a następnie nacisnąć klawisze, o które nas poprosi) lub wybrać opcję Nie:

Ja wybrałem Nie, więc instalator zapytał mnie o layout klawiatury:

Gdzie wybieramy zgodnie z layoutem naszej klawiatury na 99% jest to Polski

Następnym pytaniem jest wybór głównego interfejsu sieciowego (tego z dostępem do internetu), abyśmy mogli go łatwo znaleźć warto znać nazwę chipsetu karty sieciowej (chyba że tak jak w moim przypadku ma się dwie takie same). Należy także podłączyć dostęp do sieci, by instalator mógł pobrać potrzebne pliki.

Po wyborze instalator sprawdzi połączenie z internetem, jeśli nie zgłosi błędu wybraliśmy prawidłową kartę.

W następnym kroku ustalamy nazwę hosta:

Ja wpisałem ubsrv

Później konfigurujemy zegar zgodnie z naszą strefą czasową:

W moim przypadku wykrył prawidłową, więc tylko potwierdziłem.

Następnie Partycjonujemy dysk. Możemy zrobić to ręcznie wybierając ostatnią opcję, tutaj jest instrukcja jak to robić, więc nie będę się rozpisywał. Na potrzeby tutorialu wybiorę krótszą drogę:

Sposób partycjonowania, który wybrałem to: Przewodnik – cały dysk.

W następnym okienku wybieramy dysk do partycjonowania:

Następnie możemy przejrzeć jakie partycje zostaną utworzone i potwierdzić chęć formatowania.

Uwaga: Wszelkie dane z formatowanych i usuniętych partycji zostaną bezpowrotnie utracone, więc jeśli nie zrobiliście kopii lepiej przerwać instalację i zrobić ją teraz.

Następnie ustawiamy nazwę pierwszego użytkownika, jego login i hasło:

Pełna nazwa.

Login.

Hasło.

I jeszcze raz hasło

Jeśli wpiszemy zbyt proste hasło zostaniemy zapytani, czy chcemy użyć prostego hasła. Jeśli stawiamy router tylko dla testu czy zdobycia wiedzy możemy potwierdzić, jeśli naprawdę ma służyć za router zalecam ustawić mocniejsze hasło, od tego przecież zależy bezpieczeństwo waszej sieci.

Następnie decydujemy się na szyfrowanie katalogu domowego użytkowników. I tu znowu zależy od przeznaczenia naszego serwera. Jeśli chcemy go wykorzystywać w przyszłości jako serwer plików, gdzie wolicie zabezpieczyć się przed włamaniami warto szyfrować katalogi domowe. Lecz włączenie szyfrowania oznacza spadek szybkości działania operacji na plikach. Wybór pozostawiam wam.

W następnym oknie podajemy dane serwera proxy, przez którego łączymy się z internetem:

Ja zostawiłem puste.

Później wskazujemy brak aktualizacji automatycznych (jeśli będziemy chcieli coś zaktualizować zrobimy to ręcznie):

A następnie wybieramy oprogramowanie, które ma się od razu zainstalować:

Ja zostawiłem puste, po instalacji zawsze możemy to doinstalować, więc teraz instaluje sam system.

Następnie system zainstaluje nasz Ubuntu Server, więc mamy jakieś 10 minut wolnego czasu. Zaraz po instalacji zostaniemy zapytani o instalację programu rozruchowego GRUB:

Wybieramy tak.

I otrzymujemy komunikat o pomyślnej instalacji:

Więc wyjmujemy płytę lub pendrive, z którego instalowaliśmy i cieszymy się naszym nowym systemem Ubuntu Server.

4. Logujemy się do systemu podanymi wcześniej danymi i przystępujemy do konfiguracji sieci.
Na początek włączymy drugą kartę sieciową.
sudo nano /etc/network/interfaces
Zamiast edytora Nano możemy użyć Vi, lecz stwierdziłem że na potrzeby tutoriala Nano jest łatwiejszy w obsłudze.

Dla naszej pierwszej karty konfiguracje mamy już wpisaną, więc na końcu pliku dopisujemy:
auto eth1
iface eth1 inet static
address 192.168.3.1
netmask 255.255.255.0

Zapisujemy kombinacją Ctrl+O. A następnie włączamy nasz drugi interfejs sieciowy:
sudo ifup eth1
Następnie przechodzimy do włączenia funkcjonalności routera. Najpierw włączamy tzw. forwarding pakietów:
sudo echo "1" > /proc/sys/net/ipv4/ip_forward
A następnie włączamy regułę firewallu odpowiedzialną za przekierowywanie pakietów:
sudo iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -d 0.0.0.0/0 -j MASQUERADE
Reguła ta oznacza przekierowanie pakietów pochodzących z adresów zaczynających się od 192.168.3 na odpowiednią kartę sieciową. Jeżeli mamy stałe ip możemy użyć polecenia:
sudo iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -d 0.0.0.0/0 -j SNAT --to-source nasz_stały_adres_ip
Teraz możemy się cieszyć skonfigurowanym routingiem, lecz po ponownym uruchomieniu serwera, nasza praca zostanie utracona, więc zapisujemy ją w pliku:
sudo nano /etc/sysctl.conf
I odkomentujemy w nim linię (czyli usuwamy # na początku):
#net.ipv4.ip_forward = 1
Zapisujemy i otwieramy następny plik:
sudo nano /etc/rc.local
W nim przed linią:
exit 0
wpisujemy:
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -d 0.0.0.0/0 -j MASQUERADE
lub:
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -d 0.0.0.0/0 -j SNAT --to-source nasz_stały_adres_ip
Zapisujemy i nasz nowy router działa prawidłowo. Zrobiliśmy to najkrótszą drogą z pominięciem kilku przydatnych programów np, serwera DHCP. Więc aby wszystko działało musimy podłączyć nasz drugi komputer do drugiej kary sieciowej oraz skonfigurować połączenie sieciowe.

W Ubuntu wykonamy to przez otwarcie System → Preferencje → Połączenia Sieciowe i modyfikujemy połączenie:

Wpisane DNS są dla użytkowników Neostrady, więc każdy musi wpisać odpowiednie dla swojego dostawcy internetu.

Po takim ustawieniu cieszymy się nowym routerem nad którym mamy pełną kontrolę. Z odrobiną chęci znajdziecie w internecie wiele innych rzeczy do których możecie wykorzystać taki serwer (serwer WWW, serwer FTP, serwer SMB, serwer wydruku, firewall i wiele innych).

Wkrótce napiszę kolejne tutoriale dotyczące Ubuntu Server.
Więc zaglądajcie często na Linuxiarze.pl i życzę miłej zabawy z nowym routerem.

Źródła:

  • zsk.wsti.pl/publikacje/iptables_przystepnie.htm

 
Autor: Format c

 

Click to rate this post!
[Total: 0 Average: 0]

6 komentarzy do “Wykorzystanie Ubuntu Server jako router sieciowy

  • Jako że masz statyczne IP powinieneś użyć polecenia:
    iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -d 0.0.0.0/0 -j SNAT –to-source 80.55.xxx.xxx
    sprawdź czy na pewno tego użyłeś (tamto drugie z MASQUERADE tez powinno działać, ale u mnie na początku coś nie grało, za to na statycznym chodzi bez problemu)
    I jeszcze jedna banalna rzecz, lecz mi trochę czasu zajeła, a mianowicie sprawdź czy kable sieciowe masz podłączone do odpowiednich kart (czy nie są wpięte odwrotnie). Mi na jednym komputerze wykryło zintegowaną jako eth0 a na pci jako eth1, a na drugim wykryło je odwrotnie.

    Odpowiedz
  • Witam ponownie – jeszcze raz dziękuje za tego tutka pomógł mi bardzo jednak jak już wspomniałem wczesniej jestem delikatnie mówiąc słaby z konfiguracji linuksa – to co napisałeś powyżej zrobiłem dostosowałem do swoich potrzeb i działa ale chciałby zmienić serwerek który ma ststycznie przydzielone IP od Telekomuny.

    Mianowicie mam IP typu 80.55.xxx.xxx
    Maske 255.255.255.0
    Brame 80.55.xxx.xxx

    Wpisuje według wzorca jaki jest u Ciebie dla eth1 i delikatnie mówiąc kicha – nie routuje mi sygnału.

    Sądzę że popełniam jakiś prosty bład ale normalnie nie daje rady

    Jeśli miałbyś cierpliwość i chęci to bardzo prosze o jakąś wskazówkę

    PS: tak wygląda ta moja część pliku

    auto eth0
    iface eth0 inet static
    address 80.55.xxx.xxx
    netmask 255.255.255.0
    gateway 80.55.xxx.xxx

    PS2: na teraz mam zainstalowany serwerk na PClinuxOS i tam to działa chcoś konfiguracja jest okienkowa bez terminala a tak bym chciał pobawić się UBUNTU

    Sorki za przydługi tekst

    Odpowiedz
  • Dziękuje – chyba się udał, błedem był przynajmniej tak mi się wydaje, uzycie Ubuntu 12.04 zamiast 10.04 i chyba wspomniana przez Ciebie literówka – dziękuje za odpowiedź

    Odpowiedz
  • sprawdź czy na pewno wszystko poprawnie przepisałeś, czy nie ma literówek, taki błąd pojawia się gdy np. będzie wpisane „adress” zamiast „address”.

    Odpowiedz
  • Witam – niby wszystko ładnie i pięknie ale w moim przypadku (totalny laik linuksowy) przy próbie właczenia eth1 pojawia się następujący komunikat:
    „Dont seem to be have all the variables for eth1/inet.
    Failed to bring up eth1”

    Karta jest widoczna, interfejs wykryty, plik interfaces zmodyfikowany jak w instrukcji

    Nie wiem co dalej

    Odpowiedz

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna jest chroniona przez reCAPTCHA i Google Politykę Prywatności oraz obowiązują Warunki Korzystania z Usługi.