logikanya seperti ini :
script akan melakukan pengecekan IP yang diperoleh dari hasil dial PPPoE mikrotik.
selanjutnya jika ditemukan IP yang diperoleh adalah IP private, dimana biasanya berawalan 10.x.x.x maka koneksi akan diputus, kemudian akan ada delay atau waktu menunggu selama kurang lebih 5 detik dan script akan melakukan koneksi kemudian memeriksa kembali IP yang diperoleh dari ISP.
selama IP yang diperoleh masih IP private, maka script akan terus mengulang koneksi sampai diperoleh IP Public dan script akan berhenti bekerja.
berikut script nya :
:local WANINTERFACE indihome ##(ganti dengan nama interface PPPoE yang ada di mikrotik)
:local WANIP [/ip address get [find where interface=$WANINTERFACE ] value-name=address];
:set WANIP [:pick $WANIP 0 ([:len $WANIP]-3) ];
:if ($WANIP ~"^[0-9 ]*10") do={
:local c 0;
:log warning "Private ip address found !!!";
:log warning "Reset $WANINTERFACE !!!";
:do {
:set $c ($c+1);
/interface pppoe-client enable $WANINTERFACE;
:delay 15s
:set WANIP [/ip address get [find where interface=$WANINTERFACE ] value-name=address];
:set WANIP [:pick $WANIP 0 ([:len $WANIP]-3) ];
:log warning "Attempt $c IP : $WANIP !!!";
:delay 5s
} while=($WANIP ~"^[0-9 ]*10")
:log warning "Public IP - Found, OK ! end script";
} else={
:log warning "Public IP - $WANIP - Found, OK ! No action required";
}
paste saja script di atas pada menu system->Script. pastikan nama interface yang melakukan dial ke internet sudah sesuai (ada di baris pertama)
selanjutnya tambahkan scheduler agar script dapat mengecek IP yang diperoleh dari hasil dial PPPoE secara periodik.
semoga bermanfaat....
Tidak ada komentar:
Posting Komentar