Strona 1 z 1

serwer www za routerem na zewnętrznym ip

: 12 sierpnia 2010, 17:12
autor: krzyniog
Witam.
Mam router z dwiema kartami sieciowymi. Na jednej ustawiony jest zewnętrzny adres ip a na drugiej podłączona lokalna sieć komputerowa. Na routerze ustawiony jest NAT. Chciałbym teraz do tej drugiej karty podłączyć dodatkowy komputer z serwerem WWW tak, aby był widoczny z zewnątrz pod drugim zewnętrznym adresem ip.

80.x.x.1
||
eth0
router
eth1
||
192.168.0.1/24 oraz serwer www z adresem 80.x.x.2

Proszę o pomoc w zrealizowaniu takiej konfiguracji.

: 12 sierpnia 2010, 20:40
autor: piroaa
Rozwiązanie problemu jest nat 1 do 1
Tak mi się przynajmniej wydaje :D
http://www.trzepak.pl/viewtopic.php?=&p=84247
Pozdrawiam.

: 12 sierpnia 2010, 22:44
autor: krzyniog
Dzięki wielkie. Tym sposobem udało mi się uruchomić serwer, ale jest jeden problem. Mianowicie bardzo wydłużył się czas oczekiwania na stronę. Po wpisaniu adresu w przeglądarce jest kilka sekund przerwy i dopiero pokazuje się stronka. Czy przyczyną tego może być NAT 1:1. Choć ostatnio zauważyłem też znaczne wydłużenie czasu logowania po ssh nawet w sieci lokalnej. Co może być przyczyną tego spowolnienia

: 12 sierpnia 2010, 23:09
autor: devu
Prawdopodobnie niepoprawne adresy DNS

: 13 sierpnia 2010, 08:04
autor: krzyniog
Raczej nie wpisy w dns są ok. Serwer bezpośrednio podłączony do sieci (czyli bez natu 1:1) działa dobrze.
Chociaż faktycznie może być coś nie tak z dns. Pierwsza strona ładuje się po kilku sekundach a odnośniki ze strony ładują się już normalnie.
A może przy tych ustawieniach trzeba coś zmienić w konfiguracji Apacha
Proszę jeszcze o sprawdzenie firewalla

Kod: Zaznacz cały

    [font=&quot]#! /bin/sh[/font]
  [font=&quot]# ¶cieżka do pliku <i>iptables</i>[/font]
  [font=&quot]         IPT=/sbin/iptables[/font]
  [font=&quot]# ¶cieżka do pliku <i>modprobe</i>[/font]
  [font=&quot]         MOD=/sbin/modprobe[/font]
  [font=&quot]# interfejs zewnętrzny, od strony Internetu - tylko router filtruj±cy[/font]
  [font=&quot]         INT_PUB="eth1"[/font]
  [font=&quot]# interfejs wewnętrzny, od strony sieci LAN - tylko router filtruj±cy[/font]
  [font=&quot]         INT_LAN="eth0"[/font]
  [font=&quot]# publiczny adres IP przypisany do zewnętrznego interfejsu - tylko router filtruj±cy[/font]
  [font=&quot]         IP_PUB="80.x.x.5"[/font]
   [font=&quot]# adres IP sieci LAN - tylko router filtruj±cy[/font]
  [font=&quot]         IP_LAN="192.168.19.77/24"[/font]
  [font=&quot]# (tylko router/firewall NATuj±cy)[/font]
  [font=&quot]         $MOD iptable_nat[/font]
  [font=&quot]# w[/font][font=&quot]ł[/font][font=&quot]±czenie forwardowania pakiet[/font][font=&quot]ó[/font][font=&quot]w - tylko dla konfiguracji routera/bramy (dla stacji roboczej ustawiamy warto¶[/font][font=&quot]ć[/font][font=&quot] 0)[/font]
  [font=&quot]         echo 1 > /proc/sys/net/ipv4/ip_forward[/font]
  [font=&quot]         echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp[/font]
  [font=&quot]# ustawiamy domy¶ln± polityk[/font][font=&quot]ę[/font][font=&quot] dla poszeg[/font][font=&quot]ó[/font][font=&quot]lnych [/font][font=&quot]ł[/font][font=&quot]a[/font][font=&quot]ń[/font][font=&quot]cuch[/font][font=&quot]ó[/font][font=&quot]w[/font]
  [font=&quot]# domy¶lnie po[/font][font=&quot]ł[/font][font=&quot]±czenia przychodz±ce odrzucamy[/font]
  [font=&quot]         $IPT -P INPUT DROP[/font]
  [font=&quot]# domy¶lnie wypuszczamy wszystko z naszego firewalla[/font]
  [font=&quot]         $IPT -P OUTPUT ACCEPT[/font]
  [font=&quot]# domyslnie blokujemy przekazywanie pakiet[/font][font=&quot]ó[/font][font=&quot]w[/font]
  [font=&quot]         $IPT -P FORWARD DROP[/font]
  [font=&quot]# czy¶cimy istniej±ce regu[/font][font=&quot]ł[/font][font=&quot]y w [/font][font=&quot]ł[/font][font=&quot]a[/font][font=&quot]ń[/font][font=&quot]cuchach[/font]
  [font=&quot]         $IPT -F INPUT[/font]
  [font=&quot]         $IPT -F OUTPUT[/font]
  [font=&quot]         $IPT -F FORWARD[/font]
  [font=&quot]# czy¶cimy tablic[/font][font=&quot]ę[/font][font=&quot] NAT[/font]
  [font=&quot]         $IPT -F -t nat[/font]
  [font=&quot]# interfejs lokalny traktujemy jako uprzywilejowany[/font]
  [font=&quot]         $IPT -A INPUT -i lo -j ACCEPT[/font]
  [font=&quot]         $IPT -A OUTPUT -o lo -j ACCEPT[/font]
  [font=&quot]         $IPT -A FORWARD -o lo -j ACCEPT[/font]
  [font=&quot]# Blokowanie polaczen NEW z flaga inna niz syn[/font]
  [font=&quot]        iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP[/font]
  [font=&quot]                 iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP[/font]
  
  [font=&quot]# Odrzucanie pakietow pofragmentowanych[/font]
  [font=&quot]     iptables -A INPUT -f -j DROP[/font]
  [font=&quot]   iptables -A FORWARD -f -j DROP[/font]
  
  [font=&quot]# Odrzucanie polaczen w stanie INVALID[/font]
  [font=&quot]     iptables -A INPUT -m state --state INVALID -j DROP[/font]
  [font=&quot]   iptables -A FORWARD -m state --state INVALID -j DROP[/font]
  
  
  [font=&quot]# wpuszczamy na obydwa interfejsy tylko nawi±zane i spokrewnione po[/font][font=&quot]ł[/font][font=&quot]±czenia (dla poszczeg[/font][font=&quot]ó[/font][font=&quot]lnych protoko[/font][font=&quot]łó[/font][font=&quot]w)[/font]
  [font=&quot]         $IPT -A INPUT -p all -j ACCEPT -m state --state ESTABLISHED,RELATED[/font]
  
  [font=&quot]# odrzucamy przychodz±ce na interfejsy zapytania o IDENT i SOCKS z odpowiedzi± port nieosi±galny[/font]
  [font=&quot]# gdy[/font][font=&quot]ż[/font][font=&quot] nie mamy takich us[/font][font=&quot]ł[/font][font=&quot]ug (aby unikn±[/font][font=&quot]ć[/font][font=&quot] op[/font][font=&quot]óĽ[/font][font=&quot]nie[/font][font=&quot]ń[/font][font=&quot] w trakcie [/font][font=&quot]ł[/font][font=&quot]±czenia z serwerami IRC i FTP)[/font]
  [font=&quot]         $IPT -A INPUT -p tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable[/font]
  [font=&quot]         $IPT -A INPUT -p tcp --dport 1080 -j REJECT --reject-with icmp-port-unreachable[/font]
  
  [font=&quot]# pozwalamy na po[/font][font=&quot]ł[/font][font=&quot]±czenia z firewallem z zaufanej sieci LAN[/font]
  [font=&quot]         $IPT -A INPUT -i $INT_LAN -p all -j ACCEPT -m state --state NEW[/font]
  [font=&quot]#zewnetrzneip[/font]
  [font=&quot] $IPT -t nat -I POSTROUTING  -s 192.168.19.82 -d 0/0 -j SNAT --to 80.x.x.4[/font]
  [font=&quot] $IPT -t nat -I PREROUTING -s 0/0 -d 80.x.x.4 -j DNAT --to 192.168.19.82[/font]
  [font=&quot] $IPT -I FORWARD -d 80.x.x.4 -j ACCEPT[/font]
  [font=&quot] $IPT -I FORWARD -d 192.168.19.82 -j ACCEPT[/font]
  [font=&quot] $IPT -I FORWARD -s 192.168.19.82 -j ACCEPT[/font]
  [font=&quot] $IPT -I INPUT -d 80.x.x.4 -j ACCEPT[/font]
  
  
  
  [font=&quot]                  $IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 12/minute -j ACCEPT[/font]
  [font=&quot]# pozosta[/font][font=&quot]ł[/font][font=&quot]y ruch przychodz±cy na interfejs zewn[/font][font=&quot]ę[/font][font=&quot]trzny odrzucamy, gdy[/font][font=&quot]ż[/font][font=&quot] nie udost[/font][font=&quot]ę[/font][font=&quot]pniamy [/font][font=&quot]ż[/font][font=&quot]adnych us[/font][font=&quot]ł[/font][font=&quot]ug[/font]
  [font=&quot]         $IPT -A INPUT -i $INT_PUB -j DROP[/font]
  
  [font=&quot]# pozwalamy na wpuszczanie/przekazywanie z zewn±trz do sieci tylko po[/font][font=&quot]ł[/font][font=&quot]±cze[/font][font=&quot]ń[/font][font=&quot] wcze¶niej nawi±zanych z LAN lub spokrewnionych[/font]
  [font=&quot]# dla wszystkich protoko[/font][font=&quot]łó[/font][font=&quot]w[/font]
  [font=&quot]      $IPT -A FORWARD -i $INT_PUB -o $INT_LAN -p all -m state --state ESTABLISHED,RELATED -j ACCEPT[/font]
  [font=&quot]# wypuszczanie (przekazywanie) po[/font][font=&quot]ł[/font][font=&quot]±cze[/font][font=&quot]ń[/font][font=&quot] z sieci LAN do Internetu[/font]
  [font=&quot]      $IPT -A FORWARD -i $INT_LAN -o $INT_PUB -p all -j ACCEPT[/font]
  
  [font=&quot]# wykonujemy translacj[/font][font=&quot]ę[/font][font=&quot] adres[/font][font=&quot]ó[/font][font=&quot]w NAT (SNAT) dla ca[/font][font=&quot]ł[/font][font=&quot]ej sieci - dla statycznego IP publicznego[/font]
  [font=&quot]      $IPT -t nat -A POSTROUTING -o $INT_PUB -s $IP_LAN -j SNAT --to $IP_PUB[/font]
  [font=&quot]#przekierowanie na proxy [/font]
  [font=&quot]iptables -A PREROUTING -t nat -p tcp -s 192.168.19.0/24 -d ! 192.168.19.77/24 --dport 80 -j DNAT --to-destination 192.168.19.77:8080[/font]