Strona 1 z 2

Skrypt ułatwiający dostęp do internetu

: 05 stycznia 2010, 10:11
autor: stoper
Witam.
Mam problem z dostępem do internetu, który pokrótce opiszę.

Posiadam dostęp do internetu przez łącze ethernet po kablu w sieci osiedlowej. Wszystko jest w porządku, jeżeli używam jednego systemu np. Debiana.
Posiadam dwie wady: lubię eksperymentować i lubię mieć więcej dystrybucji linuksowych, również sporadycznie, według potrzeb Windows.
I tu zaczyna się problem ze zmianą systemów i swoisty błogostan zostaje zakłócony. Po zrestartowaniu muszę oczekiwać na automatyczne przydzielenie dzierżawy - w moim przypadku około 60 minut czyli do odświeżenia serwera. Owszem, ręczne ustawienie eth0 (wpisanie adresów, DNS-ów itd.) pozwala na wymuszenie połączenia z internetem. Jest to jednak kłopotliwe i trochę irytujące.
Co ciekawe, przy zmianie systemów z rodziny Debiana i np. Archa, OpenSuse nie powoduje problemu z połączeniem. Natomiast przejście na np. Slackware z rodziną lub Windowsa już sprawia, iż ponowne przejście na np. Debiana nie uzyskuje dzierżawy serwera.
Podobne wątki zdarzały się na Forum, lecz dotąd nie znalazłem łopatologicznej procedury takiego skonfigurowania łącza (o ile taka istnieje) aby zlikwidować opisywane niedogodności.
W sieci i na innych forach jakoś nie znalazłem rozwiązania, które by mnie satysfakcjonowało.
Rozmowy z Administratorem sieci nic nie dawały, a ten trochę się dziwił i nie mógł zrozumieć po co mi tyle systemów, jak mogę mieć jeden np. Windows.
No cóż, z gustami nie powinien dyskutować, a ,,choroba'' eksperymentatorska i niewątpliwa przyjemność w uzyskiwaniu różnych ,,smaczków'' w różnych dystrybucjach przeważa nad logiką.

Kocham Linuksa - nic na to nie poradzę ;-)

Jeżeli ktoś z Was mógłby w ramach relaksu i wolnego czasu coś podpowiedzieć, byłbym wdzięczny.

Pozdrawiam.

: 05 stycznia 2010, 11:18
autor: ilin

Kod: Zaznacz cały

Owszem, ręczne ustawienie eth0 (wpisanie adresów, DNS-ów itd) pozwala na wymuszenie połączenia z internetem. Jest to jednak kłopotliwe i trochę irytujące.
Nie możesz sobie napisać skryptu który to wszystko zrobi za jednym jego odpaleniem ?

: 05 stycznia 2010, 11:39
autor: stoper
Super, ale dla mnie pisanie skryptów to problem. Może mógłbym poprosić o gotowca? :-D żeby to działało.

Pozdrawiam

: 05 stycznia 2010, 11:44
autor: ilin
A co i gdzie musisz w debianie wpisać aby wymusić połaczenie ?

: 05 stycznia 2010, 12:08
autor: stoper
Od czasu do czasu, ale prosty skrypt, to mi się zdarzył. Spróbuję po południu, po powrocie do domu coś wymyślić. Ewentualnie się "pochwalę", jeżeli będzie działać. Póki co dziękuję pięknie ilin za podpowiedź.

Pozdrawiam

: 05 stycznia 2010, 12:14
autor: ilin
Do samych dnsów wystarczyłoby:

Kod: Zaznacz cały

#!/bin/sh
echo nameserver XXX.XXX.XX.XXX > /etc/resolv.conf
Nie znam parametrów Twojej sieci aby coś więcej powiedzieć.

: 05 stycznia 2010, 13:27
autor: lee
Hey, pisałem coś takiego dawno temu, może pomoże.

Kod: Zaznacz cały

#!/bin/bash

case "$1" in
siec1)
        sudo ifconfig eth1 inet 192.168.2.3/24
        sudo route add default gw 192.168.2.200
        echo "nameserver 192.168.2.10" >> /etc/resolv.conf
        ;;
siec2)
        sudo ifconfig eth1 down
        sudo ifconfig eth1 hw ether xx:xx:xx:xx:xx:xx
        sudo ifconfig eth1 inet xxx.xxx.xxx.xxx/24
        sudo route add default gw xxx.xxx.xxx.xxx
        echo "nameserver xxx.xxx.xxx.xxx" >> /etc/resolv.conf
        echo "nameserver xxx.xxx.xxx.xxx" >> /etc/resolv.conf
        sudo ifconfig eth1 up
        ;;
eth1:1)
        sudo ifconfig eth1:1 inet 192.168.1.3/24
        ;;
*)
        echo "Usage: ~/scripts/networking {siec1|siec2|eth1:1}"
        exit 1
        ;;
esac
do poprawnego działania konieczne skonfigurowanie SUDO, najlepiej tak aby z poziomu zwykłego użytkownika nie pytało o hasło przy wywołaniu.
Skrypt wywołujesz np. tak:

Kod: Zaznacz cały

 /katalog/dostepu/do/skryptu/nazwaskryptu siec2 
w tym przypadku zostanie wywołana konfiguracja odnosząca się do parametru siec2.
Oczywistym faktem jest zmiana adresów ip, dns i nazwy interfejsu eth.

pozdrawiam

: 06 stycznia 2010, 21:46
autor: LordRuthwen
Propozycja dla kolegi stoper: idź na łatwiznę - kup sobie router i uruchom na nim dhcp.
Problem rozwiąże się sam, bo on będzie trzymał ciągłą sesję z siecią osiedlową, a Ty będziesz mógł sobie robić co chcesz za nim.
A co do skryptu to wystarczy Ci w zupełności to co podał kolega lee, tylko uważaj jak będziesz wpisywał swój adres IP na maskę podsieci, bo u niego jest 24, ale Ty możesz mieć coś całkiem innego a mogłeś na to nie zwrócić uwagi.

: 06 stycznia 2010, 23:12
autor: giaur
stoper pisze:Owszem, ręczne ustawienie eth0 (wpisanie adresów, DNS-ów itd.) pozwala na wymuszenie połączenia z internetem. Jest to jednak kłopotliwe i trochę irytujące.
A możesz jaśniej? Czy ktoś cie zmusza do korzystania z dhcp? Jeżeli adres ip dostajesz zawsze ten sam to nie musisz z dhcp przeciez korzystac.
ilin pisze:Nie możesz sobie napisać skryptu który to wszystko zrobi za jednym jego odpaleniem ?
Ale po co? Do tego jest ifup i /etc/network/interfaces (lub analogiczne z innych dystrybucji) albo jak ktos lubi klikac to wicd i inne podobne. Nie widze powodu po co wynajdowac koło na nowo.
ilin pisze: Do samych dnsów wystarczyło by ...
Nie. Dhcp to nadpisze.

: 06 stycznia 2010, 23:23
autor: ilin
Ale po co? Do tego jest ifup i /etc/network/interfaces (lub analogiczne z innych dystrybucji)
Gdyby to działało nie było by tego postu.
Nie. Dhcp to nadpisze.
To byl tylko przykład.

Jeśli się postaramy to nie nadpisze.

Przede wszystkim nie znamy specyfiki tej sieci aby gotowe rozwiązania podawać.
Podajemy przykłady poszczególnych operacji a sam zainteresowany musi je złożyć w całość i dostosować do własnej sytuacji.