Wykorzystanie Ubuntu Server jako router sieciowy
Ostatnia aktualizacja: 16 września 2023, 12:56
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:
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
Na Ubuntu 16.04 nie działa. Zaznaczam że robię wszystko w VirtualBox więc może w samym programie jest gdzieś problem.