Ubuntu 14.04 jako brama / router i zapora ogniowa


16

Moja obecna konfiguracja systemu to Ubuntu 14.04 Desktop 64-bit, i używam Internetu z routera za pomocą publicznego adresu IP

eth0 - WAN Public IP 182.x.x.x  
eth1 - LAN private IP 192.168.0.1

Teraz chcę rozdzielić to połączenie na inne komputery używające mojego systemu jako a Gateway, Mój systemowy adres IP jest, 192.168.0.1a inne komputery w sieci używają statycznego adresu IP 192.168.0.2oraz 192.168.0.255 jako statici / lub DHCP.

Chcę również skonfigurować zaporę w moim systemie, aby móc monitorować i kontrolować ruch innych systemów w sieci.

Odpowiedzi:


15
  1. Otwórz terminal Ctrl+ Alt+T

  2. Wpisz następujące polecenie, aby edytować interfacesplik:

    sudo vim /etc/network/interfaces
    
  3. Edytuj plik za pomocą następujących wierszy: (dodaj swój netmaski gateway)

    auto lo 
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
    address 182.x.x.x 
    netmask  x.x.x.x 
    gateway x.x.x.x
    
    auto eth1
    iface eth1 inet static 
    address 192.168.0.1
    netmask x.x.x.x
    
  4. Teraz edytuj /etc/sysctl.confi odkomentuj:

    # net.ipv4.ip_forward=1
    

    tak, że brzmi:

    net.ipv4.ip_forward=1
    

    i zapisz go, wchodząc

    sudo sysctl -p /etc/sysctl.conf

  5. Aby włączyć maskaradę IP, wprowadź następujący zestaw poleceń w terminalu:

    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    
    sudo iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    
    sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    

Aktualizacja: Napraw dziwne „-–state” powodujące niepowodzenie polecenia i napraw nat MASQUERADE do eth0 (interfejs wan)


zrobiłem wszystko zgodnie z zaleceniami ... ale jeśli edytuję / etc / network / interfaces i zrestartuję usługę, łączy się on automatycznie z eth1 i nie łączy się z Internetem przez eth0. Jeśli edytuję connectio w trybie GUI, łączę się z Internetem za pomocą eth0. Teraz problem polega na tym, że nie mogę połączyć komputera klienckiego za pomocą adresu IP 192.168.0.5/nm.255.255.255.0/gw.192.168.0.1 z Internetem. jakieś sugestie?
Santi Varghese

3
Chcę dodać, że po zmianie wiersza net.ipv4.ip forward=1chcesz uruchomić, sudo sysctl -p /etc/sysctl.confaby nowa wartość zaczęła obowiązywać.
Samuel Li,

2
Nadal masz zamienione urządzenia w dwóch ostatnich wierszach w kroku 5 i nie wspominasz o domyślnych zabezpieczeniach (tzn., Że przekazywanie powinno mieć politykę DROP).
chreekat

3

Komentarz @ chreekat jest poprawny, że karty Ethernet są zamieniane w kroku 5 odpowiedzi @ Anbu, i jak pokazano (stan na 21.02.2017) tworzy OGROMNY OTWÓR BEZPIECZEŃSTWA, który umożliwia nieograniczony dostęp do sieci prywatnej dla każdego w sieci publicznej .

Poprawiona konfiguracja dla kroku 5 pokazano poniżej.

Teoria działania: (reguła nr 2) Pakiety przychodzące z sieci publicznej (eth0) są akceptowane do przekazywania do sieci prywatnej (eth1) wtedy i tylko wtedy, gdy wejściowy pakiet publiczny jest związany z konwersacją ustanowioną przez hosta na sieć prywatna. (Reguła # 3) Zaakceptuj wszystkie pakiety przychodzące z sieci prywatnej (eth1) i przekaż je do sieci publicznej (eth0).

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

0

Tego używam, zawsze działa dobrze. Kombinacja różnych samouczków. Testowane również na Ubuntu 16.04LTS.

Krok A-- Upewnij się, że ufw jest zainstalowany

sudo apt-get install ufw

Krok B - Skonfiguruj interfejsy sieciowe .

sudo nano /etc/network/interfaces

Skonfiguruj plik interfejsów , aby był mniej więcej taki:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The WAN primary network interface
iface eth0 inet static
        address 182.xxx.xxx.xxx
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx

#LAN side interface
auto eth1
iface eth1 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        address 192.168.0.1

Zapisz plik, wybierając CTRL-X z nano lub dowolnego innego edytora.

Krok C - Zezwól na przekazywanie adresu IP . Ustaw przekazywanie. Edytuj plik /etc/sysctl.conf

sudo nano /etc/sysctl.conf

Usuń komentarz w tym wierszu # net.ipv4.ip_forward=1, aby był net.ipv4.ip_forward=1 Zapisz zmiany i przejdź do następnego kroku.

Krok D - Zasady maskarady / przekazywania

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Utrzymuj zmiany w iptables

sudo su
sudo iptables-save > /etc/iptables.rules
sudo nano /etc/network/if-pre-up.d/iptables

Wpisz tę treść:

#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

Zapisz zmiany Następnie edytuj / utwórz następny plik iptables

sudo nano /etc/network/if-post-down.d/iptables

Wpisz tę treść:

#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.rules ]; then
    iptables-restore < /etc/iptables.rules
fi
exit 0

Zapisz zmiany. Spraw, by oba pliki były wykonywalne

sudo chmod +x /etc/network/if-post-down.d/iptables
sudo chmod +x /etc/network/if-pre-up.d/iptables

Krok E - Zakończ konfigurację ufw

sudo nano /etc/default/ufw

Zmień zasadę przekazywania parametrów, aby zaakceptować

DEFAULT_FORWARD_POLICY="ACCEPT"

Zapisz zmiany.

Mam mój SSH na porcie 49870, więc pozwoliłem ufw również akceptować połączenia na tym porcie:

sudo ufw allow 49870

Krok F - Nie zapomnij włączyć ufw .

sudo ufw enable

Na tym etapie po prostu uruchom ponownie system. Następnie wszystkie urządzenia LAN mogą używać go jako bramy głównej. Na marginesie, ufw jest bardzo wygodny w zarządzaniu ustawieniami zapory.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.