Często komputer ze skonfigurowanym dostępem do Internetu jest używany przez komputery w jego sieci lokalnej jako pośrednik w dostępie do Internetu. Jest to rozwiązanie bardzo popularne, gdyż pozwala korzystać wielu osobom z tego samego publicznego adresu IP. Mechanizm, który pozwala korzystać z tej funkcjonalności, jest nazywany NAT-em (ang. Network Address Translation) lub maskowaniem IP (ang. IP masquerading). Schemat systemu wygląda jak poniżej:
Internet - Publiczny IP=Host=Prywatny IP - Komputery wewnątrz sieciJak widać, host-pośrednik ma 2 interfejsy (2 adresy IP): jeden do sieci publicznej (Internetu) a drugi do sieci prywatnej. Poniżej opisano sposoby konfiguracji NAT-a na hoście-pośredniku dla systemów Debian i pochodnych od RedHata. Reszta komputerów w sieci powinna jako adres bramki ustawić prywatny adres IP hosta-pośrednika.
Debian
Pod Debianem jest wiele sposobów konfigurowania systemu NAT. Najprostszy polega na zainstalowaniu pakietu o nazwie ipmasq. Najczęściej nie są potrzebne żadne modyfikacje konfiguracji - interfejs zewnętrzny ustalany jest na podstawie adresu bramki ustawionej na hoście-pośredniku. Automatycznie obsługiwane są sytuacje podnoszenia i wyłączania interfejsów, należy tylko podczas instalacji wybrać opcję rekonfiguracji firewalla przy tworzeniu połączenia PPP. Więcej informacji można znaleźć między innymi na stronach manuala do iptables i ipmasq.
RedHat 6.2
W RH 6.2 wykonujemy następujące komendy w celu inicjalizacji NAT-a (są one wykonywane ręcznie i jednorazowo):
ipchains -P forward DENY ipchains -A forward -i ppp0 -j MASQ ipchains-save > /etc/sysconfig/ipchainsNastępnie do pliku /etc/rc.d/rc.local dodajemy na końcu następujące polecenia:
echo -n "1" > /proc/sys/net/ipv4/ip_forward ipchains-restore < /etc/sysconfig/ipchains
RehHat 7.x, 8.x, Fedora, Aurox itd
W systemach RH 7.x zarzucono używanie pakietu ipchains, zamiast niego wprowadzono nowszy mechanizm iptables (kernel 2.4.x). Należy więc zamiast powyższych działań stworzyć ręcznie plik /etc/sysconfig/iptables o zawartości (skrypt ten dodatkowo ustawia podstawową konfigurację filtra pakietów) (zakładamy, że ppp0 jest interfejsem "na zewnątrz", zaś eth0 - interfejsem "na sieć lokalną"):
*nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A POSTROUTING -o ppp0 -j MASQUERADE COMMIT *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] :allowed_in - [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i ! ppp0 -m state --state NEW -j ACCEPT -A INPUT -m state --state NEW -j allowed_in -A INPUT -i ! ppp0 -p udp --dport 177 -j ACCEPT -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i ! ppp0 -m state --state NEW -j ACCEPT -A FORWARD -p udp --dport 53 -j ACCEPT -A FORWARD -p udp --dport 123 -j ACCEPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -m state --state NEW -j ACCEPT -A OUTPUT -p udp --dport 123 -j ACCEPT -A allowed_in -p icmp --icmp-type echo-request -j ACCEPT -A allowed_in -p tcp --dport 22 -j ACCEPT -A allowed_in -p udp --dport 123 -j ACCEPT COMMITNastępnie do pliku /etc/rc.d/rc.local dodajemy na końcu następujące polecenia:
echo -n "1" > /proc/sys/net/ipv4/ip_forward iptables-restore < /etc/sysconfig/iptables
Poprzedni | Spis treści | Następny |
Instalacja i uruchomienie | Początek rozdziału | Konfiguracja lokalnego serwera poczty (SMTP) |