Jadi skenarionya adalah :
Saya melakukan dial Speedy dari modem dengan berbagai alasan. Namun belakangan (setelah jalan sekian puluh tahun :nohope: ) kalau setting DNS server di RB menggunakan DNS Google atau Open DNS sering kali jaringan tidak bisa me-resolve. Namun akan normal jika DNS di setting menggunakan IP MODEM atau DNS milik TELKOM :capedes (kata sesepuh mbah OKUM, mungkin karena ada kebijakan transparent DNS dari telkom, tapi kl DNS servernya di SET di modem kog gak masalah ya???)
Pada penerapan lanjutan script ini bisa digunakan untuk keperluan lain selama kita mengetahui perintah telnetnya. misal untuk reboot modem secara berkala (untuk merubah IP untuk pengguna dynamic IP) atau hal2 lainnya. Disini saya ingin membuat scheduler pake cronjob dimana tiap tengah malem DNS akan dirubah pake DNS Google / OpenDNS kalau pagi pake NAWALAHHHH.
oya, script ini dibikin di server ubuntu lho ya, untuk distro lain silahkan dicoba sendiri ya :malus
sebelumnya install dulu paket expect
apt-get install expect
kemudian buat file dengan nama sembarang.sh
isinya :
#!/usr/bin/env expect
spawn telnet 192.168.1.1
expect -re "Password:"
send "passwordrahasia\r"
expect -re "TP-LINK>"
send "set lan dhcpdns 180.131.144.144 180.131.145.145\r"
expect -re "TP-LINK>"
send "exit\r"
expect eof
save, kemudian chmod 755.
jalankan deh buat coba.. hasilnya kl dah jalan kayak gini :
user@server:~#./sembarang.sh
spawn telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
Password: *********
Copyright (c) 2001 - 2011 TP-LINK TECHNOLOGIES CO., LTD
TP-LINK> set lan dhcpdns 180.131.144.144 180.131.145.145
TP-LINK> exit
Connection closed by foreign host.
Sekarang coba deh cek modem, apa sudah berhasil dirubah atau belum tuh DNS :army:
jangan lupa flush DNS cache di MT, bikin scheduler dengan selisih waktu 1 menit (cocokin waktu di RB ama servernya!).
Di posting juga pada KOMUNITAS ALL ABOUT RT/RW-NET KASKUS
salam kenal pak
Salam kenal juga mas..