wtorek, 22 maj 2012
NEXT / Artykuły / NEXT 1/2008 / Artykuły z NEXT 1/2008 / Nieoceniony rinetd
NEXT 1/2008 - okładka





Temat numeru:
Przejdź do innych artykułów:

NEXT 1/2008 - Nieoceniony rinetd

Nieoceniony rinetd - ikonka tips & tricks

Data: 11 czerwiec 2008

Rinetd to narzędzie nieocenione w przypadku zmiany adresów IP serwerów WWW lub fizycznym przenoszeniu maszyn do innej lokalizacji z przydzielonymi przez operatora innymi adresami IP. Program ten wystarczy uruchomić na jednej maszynie w starej lokalizacji, a kiedy rozpropagują się zmiany w DNS, po prostu wyłączyć.


Do operowania na pakietach IP używasz zapewne iptables (patrz też: NEXT 3/2007 str. 134), czyli standardowego pakietu do konfiguracji firewalla, dostępnego w nowszych systemach Linux. Ma on ogromne możliwości, ale też pewne ograniczenia. Jeśli chciałbyś na przykład przekierować komunikację TCP z danego portu na inny komputer, wówczas musisz się ograniczyć tylko do hostów pracujących w twojej sieci. Natomiast za pomocą omawianego przez nas niewielkiego i szybkiego programu rinetd możesz przekazywać ruch TCP na dowolny adres w internecie. Rinetd działa w warstwie aplikacji, jest wydajny i znakomicie radzi sobie z tym problemem.

Program ten z reguły nie jest instalowany wraz z systemem, ale bez trudu znajdziesz w sieci pakiet dla swojej dystrybucji, ewentualnie możesz pobrać go ze strony www.boutell. com/rinetd i sam skompilować. Plik konfiguracyjny jest bardzo prosty i zazwyczaj instaluje się go w katalogu /etc/ pod nazwą rinetd.conf. Format pliku rinetd.conf:

[adres źródłowy] [port źródłowy]
[adres docelowy] [port docelowy]


Każdy przekazywany port podaje się w oddzielnym wierszu. Adresy źródłowe i docelowe mogą być zapisane jako nazwy komputerów lub adresów IP, zaś adres źródłowy 0.0.0.0 oznacza, że rinetd będzie przekazywał połączenia ze wszystkich adresów IP powiązanych z naszym komputerem. Przykładowy plik konfiguracyjny:

0.0.0.0 80 192.168.2.1 80
81.123.12.34 22 213.20.129.129 22


Powyższe wiersze oznaczają, że ruch przychodzący na port 80 będzie przekazywany do komputera o adresie 192.168.2.1. Pamiętaj, że tego typu rozwiązanie jest dopuszczalne tylko wtedy, gdy w systemie nie ma innego procesu związanego z portem 80. Kolejna linia w pliku konfiguracyjnym przekierowuje połączenia SSH przychodzące na port 22 do komputera o adresie 213.20.129.129. Wszystko działa bez konieczności ustawienia translacji adresów (NAT) czy rekonfiguracji jądra. Wystarczy uruchomić rinetd, a on w trybie demona zacznie nasłuchiwać na określonych portach. W pliku konfiguracyjnym można ponadto ustawiać reguły typu allow i deny. Mogą one zawierać znaki wieloznaczne typu „ . ? *”, np.

allow 206.125.69.*

Wpis ten oznacza zezwolenie na komunikację z całej klasy C sieci 206.125.69. Rinetd nie obsługuje komunikacji UDP. Dobrą praktyką jest podawanie nazw w postaci adresów IP, ponieważ rinetd podczas oczekiwania na odpowiedź serwera DNS zatrzymuje przetwarzanie innych połączeń. Pamiętaj też, że nie zadziała poprawnie przekierowanie połączeń takich protokołów, jak FTP, RTSP (Real Video), gdyż protokoły te korzystają często z wielu dynamicznie ustalanych portów.

Jeśli nie używasz Linuksa, możesz skorzystać także z windowsowej wersji tego narzędzia. Pamiętaj, że domyślnym katalogiem dla pliku konfiguracyjnego jest katalog /etc/, więc pod Windows uruchamiaj rinetd z opcją –c, po której podaj lokalizację pliku konfiguracyjnego


Ocena: +++++    (aby ocenić, musisz się zalogować w serwisie)

Podobne artykuły:

Komentarze:

Redakcja nie ponosi odpowiedzialności za treść komentarzy.
Nikt jeszcze nie skomentował.
Niezalogowany

Aby mieć dostęp do niektórych części serwisu NEXT (np. forum dyskusyjnego, oceny numeru, newslettera), musisz posiadać konto w naszym serwisie. Zachęcamy do darmowej rejestracji!

Jeżeli posiadasz już konto w serwisie, to zaloguj się.