Strona 1 z 1

przełączanie interfejsów łaczących z siecią, użytkownik praktycznie bez uprawnień

: 07 czerwca 2010, 23:37
autor: sector
Mam mały problem i prosiłbym o małe nakierowanie na temat, a dalej sobie poradzę.
Mam serwer, który korzysta z jednego łącza. Czasami jest tak, że to łącze pada i wtedy nie ma dostępu do internetu na serwerze i na podpiętych do niego komputerach. Wczoraj jednak zakupiłem nowe łącze u innego dostawcy, więc w razie problemu, serwer będzie się przełączał na łącze awaryjne. W czym problem?

Sprawa wygląda tak, że serwer ma korzystać cały czas z łącza numer 1. W razie awarii użytkownik będzie posiadał możliwość zalogowania się jako gość lub inny użytkownik na serwer i wykonania tylko jednego, jedynego polecenia, lub też powiedzmy poleceń wybranych jedynie przeze mnie.

Ja to widzę tak. Ktoś loguje się do konsoli i wita go komunikat w stylu:

Kod: Zaznacz cały

witam, bla bla bla, dostępne polecenia dla użytkownika gość to...
i nic więcej nie może zrobić taki użytkownik. Ani wyjść poza swój katalog, ani uruchomić innego polecenia ani przelogować się na konto root. Czyli powyłączane praktycznie wszystkie polecenia i katalog domowy bez możliwości wyjścia.

Polecenie tak naprawdę, które będzie mógł uruchomić to będzie skrypt napisany przeze mnie do przełączenia interfejsu na inny. Czyli powiedzmy dostępu do internetu z eth0 na eth1. Pytanie też, czy taki skrypt to może być skomplikowaną sprawą, czy raczej nie?

Czy ktoś mógłby mi podpowiedzieć jak to zrobić?

: 08 czerwca 2010, 08:26
autor: kaworu
wicd jest odpowiedzią o ile się nie mylę ma opcje automatycznego przełączania.

: 08 czerwca 2010, 08:39
autor: sector
Dziękuję sprawdzę, czy to działa na zasadzie 2 kart wsadzonych do 1 komputera i przełączaniu się miedzy nimi w razie potrzeby?

: 08 czerwca 2010, 13:32
autor: bzyk
Zamiast /bin/bash w /etc/passwd daj mu link do tego skryptu.

: 08 czerwca 2010, 19:09
autor: sector
Dziękuję bzyk.

Z tego co widzę, to wicd umożliwia przełączanie się ale jedynie wired + wireless, nie ma opcji 2x wired eth. Także, to rozwiązanie odpada.

Czy ktoś ma może jakiś pomysł jak zrobić skrypt, aby korzystał raz z jednej a raz z drugiej sieciówki?
Może po prostu ją jakoś wyłączyć i gdy np. nie pinguje jakiegoś serwera to wtedy włącza się jedna a druga wyłącza? Dobrze myślę, czy nie za bardzo?

: 09 czerwca 2010, 09:46
autor: bzyk
sector; no ale co to za problem? IP Ci to załatwi.

Kod: Zaznacz cały

man ip

: 09 czerwca 2010, 11:18
autor: sector
Dobra. Troche pokombinowalem juz i mam pytanie nastepujace.

Mam serwerek w ktorym sa 4 sieciowki. Mniejsza z tym co jest na kazdej to nie istotne bo konfiguracja jest mocno zawila. Sprawa wyglada tak:

eth2 - internet od 1 providera
eth3 - internet od 2 providera

konfiguracja wyglada mniej wiecej tak:

Kod: Zaznacz cały

auto eth2
allow-hotplug eth2
iface eth2 inet static
        address 192.168.110.1
        netmask 255.255.255.0
        gateway 192.168.110.254
        metric 0

auto eth3
allow-hotplug eth3
iface eth3 inet static
        address 192.168.10.10 # 172.31.31.90
        netmask 255.255.255.0

Routing jest zrobiony obecnei tak, ze wszystko idzie eth2. Problem polega na tym, jak zrobic, zeby w razie awari wszystko poszlo na eth3?

Czy wystarczy zrobic cos w tym stylu?

Kod: Zaznacz cały

route del -net default;
route add -net default  netmask 255.255.255.0 gw 192.168.10.1;
192.168.10.1 to adres routera wewnatrz sieci. Czy dobrze mysle? Zrobienie skryptu to juz mniej wazna sprawa. Najwazniejsze, zeby to smigalo..

Oczywiscie do resolv.conf dopisze jeszcze adresy DNS drugiego providera

: 18 czerwca 2010, 15:49
autor: sector
Dobrze. Trochę pokombinowałem już i mam pytanie następujące.

Mam serwer, w którym są cztery karty sieciowe. Mniejsza z tym co jest na każdej, to nieistotne bo konfiguracja jest mocno zawiła. Sprawa wygląda tak:

[INDENT]eth2 - internet od pierwszego dostawcy
eth3 - internet od drugiego dostawcy[/INDENT]
Konfiguracja wygląda mniej więcej tak:

Kod: Zaznacz cały

auto eth2
allow-hotplug eth2
iface eth2 inet static
        address 192.168.110.1
        netmask 255.255.255.0
        gateway 192.168.110.254
        metric 0

auto eth3
allow-hotplug eth3
iface eth3 inet static
        address 192.168.10.10 # 172.31.31.90
        netmask 255.255.255.0

Routing jest zrobiony obecnie tak, że wszystko działa na eth2. Problem polega na tym, jak zrobić, aby w razie awarii wszystko poszło na eth3?

Czy wystarczy zrobić coś w tym stylu?

Kod: Zaznacz cały

route del -net default;
route add -net default  netmask 255.255.255.0 gw 192.168.10.1;
192.168.10.1 to adres rutera wewnątrz sieci. Czy dobrze myślę? Zrobienie skryptu to już mniej ważna sprawa. Najważniejsze, aby to działało.

Oczywiście do resolv.conf dopiszę jeszcze adresy DNS drugiego dostawcy internetu.