Nat lub translacja adresu sieciowego Umożliwia wielu komputerom w sieci prywatnej na udostępnianie wspólnego adresu IP w celu uzyskania dostępu do Internetu. Jeden zestaw adresów IP jest używany w organizacji, a drugi zestaw jest używany do przedstawienia się w Internecie. Pomaga to zachować ograniczoną publiczną przestrzeń IP. Jednocześnie zapewnia również bezpieczeństwo, ukrywając sieć wewnętrzną przed bezpośrednim dostępem ze świata zewnętrznego.
Jak działa NAT?
NAT po prostu przekształca adres źródłowy pakietu wychodzącego na publiczny adres IP, aby mógł go zagrać w Internecie. W ten sam sposób adres źródłowy pakietów odpowiedzi pochodzących z zewnątrz (Internet) jest przekonwertowany z powrotem na lokalny lub prywatny adres IP.
Co obejmiemy?
W tym przewodniku nauczymy się konfigurować Ubuntu 20.04 jako router NAT. W tym celu użyjemy VM Ubuntu jako routeera NAT i innej maszyny wirtualnej Ubuntu jako VM klienta w celu testowania. Aby przetestować konfigurację, używamy VirtualBox do tworzenia i zarządzania maszynami wirtualnymi (maszyny wirtualne).
Kontrola przed lotem
Zestaw doświadczalny
Zastosowaliśmy następującą konfigurację dla dwóch wspomnianych powyżej maszyn wirtualnych:
1. VM1 (router NAT): Nasz komputer routerów ma dwa interfejsy sieciowe: ENP0S3 i ENP0S8 (nazwy te mogą się różnić w zależności od systemu). Interfejs ENP0S3 działa jako interfejs WAN (Internet) i jest dostępny ze świata zewnętrznego (Internet). Jego adres IP jest przypisywany przez DHCP, aw naszym przypadku jest 192.168.11.201.
Interfejs ENP0S8 to interfejs lokalny lub LAN i jest dostępny tylko w sieci lokalnej, w której nasz klient zostanie wdrożony. Ręcznie ustawiliśmy adres IP dla tego interfejsu jako 10.10.10.1/24, a „adres bramy pozostaje pusty”.
2. VM2 (maszyna kliencka): Maszyna kliencka ma tylko jeden interfejs lokalny lub LAN i.mi. ENP0S3. Jest dołączony do sieci lokalnej powyższego komputera (VM2) z adresem IP na 10.10.10.3/24. Jedyną rzeczą, o którą należy dbać, to to, że brama w tym przypadku jest adres IP interfejsu lokalnego (ENP0S8).mi., 10.10.10.1
Podsumowanie konfiguracji dwóch maszyn wirtualnych podano w poniższej tabeli:
Nazwa interfejsu → | ENP0S3 | ENP0S8 | ||
---|---|---|---|---|
Nazwa VM ↓ | adres IP | Brama IP | adres IP | Brama IP |
VM1 (router NAT) | 192.168.11.201/24 | Przez DHCP | 10.10.10.1/24 | |
VM2 (klient) | 10.10.10.3/24 | 10.10.10.1 |
Zaczynajmy…
Teraz, gdy skonfigurowaliśmy wymagane adresy IP na naszym komputerze, jesteśmy gotowi je skonfigurować. Najpierw sprawdźmy łączność między tymi maszynami. Obie maszyny powinny być w stanie pingować. VM1, który jest naszym maszyną routera NAT, powinien być w stanie dotrzeć do globalnego Internetu, ponieważ jest podłączony do WAN przez ENP0S3. VM2, który jest naszym lokalnym komputerem klienckim, nie powinien być w stanie dotrzeć do Internetu, dopóki nie skonfigurujemy routera NAT na VM1. Teraz postępuj zgodnie z poniższymi krokami:
Krok 1. Najpierw sprawdź adresy IP na obu maszynach za pomocą polecenia:
$ ip Dodaj | GREP ENP
Krok 2. Sprawdź także łączność maszyn przed skonfigurowaniem routera NAT, jak wspomniano powyżej. Możesz użyć polecenia ping:
$ ping 8.8.8.8
Lub
$ ping www.Google.com
Wynik dla VM1 (VM routera NAT) pokazano poniżej:
Wynik dla VM2 (ClientVM) pokazano poniżej:
Oba maszyny wirtualne działają tak, jak się spodziewaliśmy. Teraz zaczniemy konfigurować VM2 (router NAT).
Krok 3. Na VM2 otwórz sysctl.plik CONF i ustaw „Netto.IPv4.IP_FORWARD ”parametr do jednego, odkształcając go:
$ sudo nano /etc /sysctl.conf
Krok 4. Teraz włącz zmiany w powyższym pliku za pomocą polecenia:
$ sudo sysctl -p
Krok 5. Teraz zainstaluj pakiet IPTABLESSISTENT (ładowarka czasu rozruchowego dla reguł Netfilter, wtyczka iptables) za pomocą:
$ sudo apt instal iptables-persistent
Krok 6. Wypisz już skonfigurowane zasady IPTAble, wydając polecenie:
$ sudo iptables -l
Krok 7. Teraz zamaskuj żądania z wnętrza sieci LAN za pomocą zewnętrznego adresu IP Nat Router VM.
$ sudo iptables -t nat -a posttrouting -j maskaradę
$ sudo iptables -t nat -l
Krok 8. Zapisz reguły iptable za pomocą:
$ sudo sh -c „iptables -save>/etc/iptables/reguły.v4 ”
Testowanie konfiguracji
Teraz, aby sprawdzić, czy wszystko działa dobrze, plik publicznego IP z VM2 (klient):
Notatka: Jeśli chcesz, możesz ręcznie dodać serwer DNS w konfiguracji sieci klienta dla rozdzielczości nazwy domeny. To stłumi „tymczasową awarię w rozdzielczości nazw”. Użyliśmy Google DNS IP I.mi. 8.8.8.8 w naszym VM1.
Widzimy, że Ping działa teraz zgodnie z oczekiwaniami na VM1 (maszyna klienta).
Wniosek
NAT jest bardzo niezbędnym narzędziem do zachowania ograniczonej publicznej przestrzeni adresowej IPv4. Chociaż IPv6 jest pojawiającym się protokołem IP nowej generacji, który ma zakończyć ograniczenia IPv4, ale jest to długi proces; Do tego czasu Nat jest bardzo ważny dla organizacji.