[RIJEŠENO] Dvije konekcije

Zdravo

Novi sam na forumu a i u koristenju linuxa pa imam nekoliko pitanja.

Kreirao sam sa pppoeconf konekciju za ADSL (internet) i sve je bilo OK. Zatim sam kreirao konekciju za free zonu ali je ona prepisala postojecu. To sam rijesio tako sto sam promijenio ime konekcijama tako da sad imam dvije (internet i free_zona) a konektovanje i diskonektovanje vrsim sa pon i poff.

Problem je u tome sto sa promjenom imena ni jedna od ovih konekcija se ne starta pri pokretanje sistema
dok je to radilo dok je bila samo jedna konekcija.

Dali je moguce uraditi neku skriptu koja bi recimo sa desktopa mogla da izvrsi konektovanje na neku od ovih konekcija tjs da u pozadini odradi sledece komande bez trazenja sifre.

Recimo ako sam trenutno konektovan na internet da pokretanjem skripte odradim ovo:

sudo poff internet
sudo pon free_zona

tjs obratno za obrnutu situaciju.

Unaprijed hvala

PS: Distribucija je ubuntu 6.10

Ne ulazeći skroz u detalje evo nešto za početak.

Pretpostavimo da ti je jedna defaultna konekcija, te da za “internet” dobijes neku pravu adresu, a za “free zonu” dobijes neku lokalnu adresu (192.168.. ili 10...*)
Tj. na osnovu trenutne ip adrese odlučuješ koju konekciju ćeš zaustaviti, a koju pokrenuti.

Evo kako bih ja počeo.

[code]#!/bin/bash

ETH=eth0

IP=$(/sbin/ifconfig | grep -1 $ETH | egrep -o “\sinet addr:[0-9 .]” | awk -F “:” ‘{ print $2}’)

dobijemo npr. da je IP=192.168.0.44

IP_PREFIX=${IP%..*}

tj. IP_PREFIX=192.168

if [[ $IP_PREFIX == “192.168” ]]; then
echo "Free zona"
else
echo "Internet"
fi[/code]
Gdje u dva odvojena bloka u if iskazu postaviš komande/skripte za pokretanje konekcija umjesto da ispisuješ “Free zona” ili internet.

Ja sam to rijesio tako sto sam napravio dvije male “skripte” sadrzaja

#!/bin/bash poff -a pon dsl-provider ( u tvom slucaju internet,tj za free zonu dsl-provider-free u tvom slucaju free_zona)
Snimio ih kao ‘bihnet’ i ‘freezona’ ,bacio ih u /usr/bin (cp bihnet /usr/bin),chmod-o na 755 (chmod 755 /usr/bin/bihnet),te sad mjenjam konekcije jednostavnim komandama ‘bihnet’ ‘freezona’ iz konzole kao root naravno

Uz amarov prijedlog 1+1=2

Uspjesno rijeseno

Napravio sam sledecu scriptu:

#!/bin/bash

IP=$(/sbin/ifconfig | grep -1 “ppp0” | egrep -o “\sinet addr:[0-9 .]” | awk -F “:” ‘{ print $2}’)

dobijemo npr. da je IP=10.0.0.xxx

IP_PREFIX=${IP%..*}

echo $IP #Ispisuje trenutnu adresu

tj. IP_PREFIX=10.0

poff -a #Prekida sve aktvne konekcije

if [[ $IP_PREFIX == “10.0” ]]; then # Ako je IP_PREFIX 10.0 to jest ako je trenutna konekcija
# free_zona konektuj internet, ako nije konektuj free_zona

pon internet
echo “Internet”

else

pon free_zona
echo “Free Zona”

fi

Snimio je u “/usr/bin” zatim “chmod 755 /usr/bin/bihnet” i sve je radilo sto se tice zamjene konekcije.
Znaci “sudo bihnet” i konekcija je izmjenjena.

Drugi problem je bio u tome sto se nije konektovalo pri dizanju sistema iako sam u "etc/ppp/pppoe_on_boot upisao “exec pppd call free_zona” umjesto dsl-provider.

Rijesenje sam nasao (posle par bezuspjesnih pokusaja) u programu “Boot-Up Manager” koji sam skinuo sa “apt-get install bum” s kojim sam koristeci istu skriptu (iako je mogla i jednostavnija) uspio ostvariti koneciju pri dizanju sistema. Prethodno sam snimio scriptu u “etc/init.d” pa “$chmod +x bihnet”.

Zatim sam desnim klikom na desktop pa na Create Launcher upisao za Type - >Application in Terminal,
Command --> sudo bihnet i dao ime čime promjenu između free zone i interneta vrsim sa desktopa.

I jos par pitanja:

  • Prilikom pokretanja “sudo bihnet” trazi pasword. Dali se to moze izbjeci ?

  • U scriptu bi dodao da ispisuje jos informacija ali pri ovakvom nacinu pokretanja terminal se po zavrsetku skripte gasi. Znaci trebala bi neka naredba kao system(“pause”) koju bi dodao na kraj scripte ili mozda i ova radi.

  • Kojom naredbom bi mogao pogledati stanje konekcije tjs podatke tipa up, down prometa isl.

Hvala na pomoci Adisu i Amaru.

U KDEu staviš pod Advanced options opciju Do not close when program exits. Ne znam za Gnome kako ide, ali ja to u svakom slučaju ne bih stavljao u skriptu

ifconfig naredba bez parametara ti vraća te informacije npr. za interface ppp0 imaš liniju RX bytes: … TX bytes: …
Eh ako već hoćeš da se šteliš sa bash skriptama :wink: sljedeći korak je da napraviš malu skripticu da ti izvadi samo tu liniju i prikazuje ti je u formatu kakav tebi odgovara.