Skonfiguruj serwer Ubuntu jako router

1

Właśnie zainstalowałem serwer Ubuntu 10.04 LTS na starym komputerze stacjonarnym z dwuportową kartą sieciową, której chciałbym użyć jako routera dla mojej sieci domowej. Jak skonfigurować interfejsy, aby połączenie internetowe było przekazywane przez serwer?

wowpatrick
źródło

Odpowiedzi:

2

Pierwszym krokiem podczas konfigurowania Linuksa jako routera jest włączenie przekazywania IP:

$ echo "1" > /proc/sys/net/ipv4/ip_forward

Teraz system operacyjny może kierować pakiety między interfejsami.

Następnie użyj iptablesi netfilter do stworzenia reguł ruchu.

Sugerowałbym użycie frontonu iptablesi Netfiltera w celu skonfigurowania routera i zarządzania regułami i zasadami interfejsu.

Jeśli wolisz GUI, zobacz inne pomocne odpowiedzi na tej stronie.

Jeśli chcesz włamać się do wiersza poleceń i doświadczyć prawdziwej mocy Mocy, wypróbuj doskonały interfejs Shorewalliptables i netfilter, który pozwoli ci od razu łatwo skonfigurować router. Jednak, gdy dowiesz się więcej o routingu, Shorewall pozwoli na coraz bardziej szczegółowe konfiguracje i kontrolę przepływu sieci na poziomie pakietów.

Pakiet brzegowy jest dostępny w repozytoriach Ubuntu (wybierz pakiet shell lub Perl). Witryna Shorewall ma świetną dokumentację i pomocne samouczki dla wielu scenariuszy. Podstawowe przykłady interfejsu 2- lub 3- powinny Cię zabrać.

Venzen
źródło
Próbuję również skonfigurować ścianę brzegową. Jeśli zastosuję się do tego podejścia, czy najpierw muszę skonfigurować wszystkie karty sieciowe w / etc / network / interfaces? Dokumenty nadbrzeżne po prostu w ogóle o tym nie wspominają. Niektóre inne samouczki to pokazują. Wczoraj spędziłem kilka godzin, próbując zadowolić 12.04 tym plikiem i zrezygnowałem z gry polegającej na ponownym uruchomieniu gry polegającej na zgadywaniu, w zasadzie wykluczając wszystko, co próbowałem. (Próbowałem kilku dystrybucji routera, ale potrzebuję czegoś złożonego.)
Paul
@Paul Ubuntu Network Manager prawdopodobnie próbuje kontrolować te karty sieciowe i nadpisuje pliki / etc / network / interfaces i /etc/resolv.conf . Tak, będziesz musiał skonfigurować karty sieciowe na poziomie systemu operacyjnego przed skonfigurowaniem ściany brzegowej. Sugeruję zainstalowanie dystrybucji Ubuntu-server lub odinstalowanie menedżera sieci
venzen
powinno to pomóc (z NM lub bez): < askubuntu.com/questions/196640/… >
venzen
@ Paul pomyślał o tym, czym był problem i jak go rozwiązałeś (krótko)?
venzen
Nie wiem dokładnie, co robiłem źle; Zainstalowałem nowy Ubuntu 12.04 na nowej maszynie wirtualnej i wszystko działało płynniej. Końcowy plik / etc / interfaces, którego użyłem, jest udokumentowany w innym pytaniu .
Paul
1

Najprostszym sposobem byłoby użycie iptables . Przeczytaj iptables na stronie społeczności Ubuntu . Możesz także użyć czegoś takiego jak firestarter, aby uzyskać przyjemniejsze GUI.

Osobiście poleciłbym użycie dedykowanej dystrybucji bramek, takiej jak ipcop, m0n0wall lub systemu all-in-one, takiego jak ClearOS lub Untangle. Uprościłoby to zarządzanie zaporą ogniową, a także oferuje wiele innych funkcji (również z wbudowaną prostotą).

Wesley
źródło
Dziękuję za odpowiedź! Jedyny problem, jaki mam w tej chwili, to to, że inne interfejsy sieciowe (trzy w sumie, dwa na karcie sieci z dwoma portami i jeden zintegrowany z płytą główną) nie są wymienione w sekcji /etc/network/interfaces. Jak mogę je umieścić na liście? Zostały poprawnie pokazane podczas instalacji Ubuntu.
wowpatrick
@wowpatrick Myślę, że zrobienie całkiem nowego pytania byłoby dla Ciebie korzystne, ponieważ jest to zupełnie inne pytanie niż pytanie zadane powyżej. Wypróbuj stronę Ubuntu Stack Exchange: askubuntu.com
Wesley,