Archiwa kategorii: Linux/Unix

NetiaSpot w trybie bridge + Router Ubiquiti

Nie wiem czy tylko ja mam takiego pecha, ale po przełączeniu NetiaSpot w tryb bridge, mimo poprawnego zestawiania się połączenia PPPoE na routerze Ubiquiti, nie da się nawiązać żadnego połączenia TCP. Problemem jest nieprawidłowa wartość MSS (maksymalny rozmiar transmitowanego segmentu TCP) ustawiana dla połączeń wychodzących przez interfejs PPPoE. Rozwiązaniem tego problemu jest następująca konfiguracja:

set firewall modify pppoe-out rule 1 action modify
set firewall modify pppoe-out rule 1 modify tcp-mss 1452
set firewall modify pppoe-out rule 1 protocol tcp
set firewall modify pppoe-out rule 1 tcp flags SYN
set interfaces ethernet eth3 pppoe 0 firewall out modify pppoe-out

Zakładjąc oczywiście że interfejsem na którym ma działać PPPoE jest eth3 a numer interfejsu pppoe wynosi 0.

Po tej zmianie interfejs ładnie się podnosi i wszystko działa jak trzeba.

nginx autoryzacja spoza sieci lokalnej

Jakiś czas temu opisywałem jak za pomocą lighttpd wymagać logowania do podstrony jedynie z internetu (a z sieci lokalnej wpuszczać bez logowania). Dziś identyczna konfiguracja, dla serwera nginx:

location ~ /coś/ {
    satisfy any;
    allow 10.1.1.0/24;
    deny all;
    auth_basic "Strefa prywatna";
    auth_basic_user_file "/etc/nginx/htpasswd";
}

Podziękowania dla winnetou za pomoc w rozwiązaniu.

Autoryzacja tylko z poza sieci lokalnej w lighttpd

Załóżmy że chcemy udostępnić część zasobów serwera WWW wszystkim użytkownikom sieci lokalnej, zachowując dodatkowo możliwość dostania się do nich z internetu, po wprowadzeniu hasła. W takim wypadku z pomocą przychodzi nam serwer lighttpd. Wystarczy w pliku konfiguracyjnym odpowiednio uformować warunki:

$HTTP["remoteip"] != "10.1.1.0/24" {
        $HTTP["url"] =~ "^/rutorrent/" {
                auth.require = ( "" => (
                                        "method" => "digest",
                                        "realm" => "Strefa prywatna",
                                        "require" => "valid-user"
                                ) )
        }
}

I już osoby z internetu muszą się logować a użytkownicy sieci lokalnej korzystają do woli 🙂

Vyatta – Hairpin NAT

Działający Hairpin NAT (przekierowanie portów działające z zewnątrz i z wewnątrz):

set nat destination rule 10 destination address $IP_ZEWN
set nat destination rule 10 destination port $PORT
set nat destination rule 10 inbound-interface any
set nat destination rule 10 protocol $PROTO
set nat destination rule 10 translation address $IP_DOCELOWE
set nat destination rule 10 translation port $PORT
set nat source rule 10 destination address $IP_DOCELOWE
set nat source rule 10 destination port $PORT
set nat source rule 10 outbound-interface $LAN_IF
set nat source rule 10 protocol tcp
set nat source rule 10 source address $LAN_NET
set nat source rule 10 translation address masquerade
  • $IP_ZEWN – zewnętrzny IP routera
  • $PORT – przekierowywany port
  • $PROTO – protokół (tcp/udp)
  • $IP_DOCELOWE – wewnętrzne IP w lanie
  • $LAN_IF – interfejs sieci LAN
  • $LAN_NET – podsieć LANu (np. 10.0.0.0/24)