Kau bisa bersembunyi dari kesalahanmu, tapi tidak dari penyesalanmu. Kau bisa bermain dengan dramamu, tapi tidak dengan karmamu.

  • About

    Seorang Teknisi Jaringan yang pernah berkecimpung di Internet Service Provider (ISP) dan akhirnya memutuskan diri untuk menjadi freelancer yang berdomisili di Solo, Surakarta Hadiningrat.

  • Services

    Melayani jasa pasang Internet berbasis Wireless maupun Fiber Optic, Jasa Pasang Tower/Pipa, Pointing Wireless, Setting Router, CCTV, Hotspot, Proxy, Web Server, Network Managed dan Monitoring

  • Contact

    Berbagai saran, kritikan, keluhan dan masukan akan sangat berarti bagi saya. Anda dapat menghubungi/whatsapp saya di nomor:08564-212-8686 atau melalui BBM:2128686

    Tuesday, April 25, 2017


    Pemirsa, kali ini ada script untuk membuat limit harian 1GB dan setelah 30 hari akan diskonek pada hotspot mikrotik.

    === kuota 1GB per hari, expired 30 hari ===
    on login script :
    {
    :local usernya $user;
    :if ([/ip hotspot user find name=$usernya limit-bytes-total=1000000]="") do={/ip hotspot user set [find name=$usernya] limit-bytes-total=1000000};
    :if ([/system schedule find name=$usernya]="") do={
    /system schedule add name=$usernya interval=30d on-event="/ip hotspot user disable [find name=$usernya]\r\n/ip hotspot active remove [find user=$usernya]\r\n/system schedule remove [find name=$usernya-reset-counter]\r\n/system schedule remove [find name=$usernya]"
    }
    :if ([/system schedule find name="$usernya-reset-counter"]="") do={
    /system schedule add name="$usernya-reset-counter" interval=1d on-event="/ip hotspot user reset-counter [find name=$usernya]"
    }
    }

    Script diatas tambahkan pada hotspot on login script

    Semoga bermanfaat.

    Sunday, April 9, 2017


    Ada kasus, dimana saya buatkan samba server. Nah ketika flashdisk / hdd external ditancapkan ke pc samba yangmana samba tadi tanpa diinstall desktop, hanya CLI / Console Mode, sedangkan operator warnet ngga mungkin kan login, fdisk -l jelas ribet.

    Nah di sini saya buatkan script untuk mount ke flashdisk. berikut scriptnya mount.sh dan penjelasannya


    fdisk -l |grep -e "/dev/sd[c-z]" | awk '{print $1}' > /tmp/diskdeviceoutput
    sdx=$(cat /tmp/diskdeviceoutput | grep sd)
    echo "Mounting $sdx"
    mount $sdx /flashdisk
    untuk detektornya tetep saya pilih fdisk -l, sebenernya bisa juga sih pake dmesg, tapi untuk verifikasinya lebih ribet, kalo fdisk -l jelas, apa yang tertancap disitu jelas flashdisk baru.

    Script di atas maksudnya adalah memfilter fdisk -l dimana flashdisk yang masuk bernama /dev/sdc1 bisa juga /dev/sdd1 dan seterusnya, dan itu ganti ganti. Itulah kenapa saya filter dengan grep -e "/dev/sd[c-z]" yang artinya menampilkan /dev/sd(c sampai z) lalu di filter lagi dengan awk dimana $1 adalah kolom paling kiri kemudian ditulis dalam file /tmp/diskdeviceoutput. Nah dari situ nanti dijadiin variabel sdx untuk mount ke /flashdisk.

    Tinggal nanti dipanggil dari windows pake plink.exe -l USER -pw PASS 192.168.88.3 /home/user/mount.sh

    Thursday, October 6, 2016


    Langsung saja config ip address ethernet pada centos mode point to point, dimana teknik ini untuk menghemat ip. Gamblangnya gini.
    + Pada ethernet mikrotik diset ip addressnya 10.10.10.196/32 dan networknya 49.123.123.196
    + Pada ethernet centos diset ip addressnya 49.123.123.196/32 dan networknya 10.10.10.196
    *) Ga usah bingung, pokoknya saling tukeran ip.

    nano /etc/sysconfig/networking/devices/ifcfg-eth0

    # Intel Corporation 82540EM Gigabit Ethernet Controller
    DEVICE=eth0
    BOOTPROTO=none
    HWADDR=9a:99:0f:f5:e3:f9
    ONBOOT=yes
    TYPE=Ethernet
    NETMASK=255.255.255.255
    IPADDR=49.123.123.196
    SCOPE="peer 10.10.10.196"
    GATEWAY=10.10.10.196












    Pernah kepikiran nggak sobat, saat kita apt-get upgrade menambahkan pengecualian pada package tertentu ?
    jadi misal gini nih :
    root@zpanel:/home/rahox# apt-get upgrade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following packages will be upgraded:
      base-files bind9 bind9-host bind9utils cpio dnsutils dpkg dpkg-dev git git-man grub-common grub-pc grub-pc-bin grub2-common
      isc-dhcp-client isc-dhcp-common krb5-locales libbind9-80 libc-bin libc-dev-bin libc6 libc6-dev libdns88 libdpkg-perl
      libfreetype6 libgcrypt11 libgd2-xpm libgnutls26 libgssapi-krb5-2 libisc84 libisccc80 libisccfg82 libk5crypto3 libkrb5-3
      libkrb5support0 libldap-2.4-2 liblwres80 libmysqlclient18 libpng12-0 libpq5 libruby1.9.1 libssh2-1 libssl1.0.0 libxapian22
      libxml2 linux-libc-dev locales multiarch-support mysql-client-5.5 mysql-common mysql-server mysql-server-5.5
      mysql-server-core-5.5 openssh-client openssh-server openssl perl perl-base perl-modules ruby1.9.1 ruby1.9.1-dev sudo tzdata
      unzip
    64 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Need to get 69.1 MB of archives.
    After this operation, 1,268 kB of additional disk space will be used.
    Do you want to continue [Y/n]

    Nah yang saya tandai warna merah itu kepengen dikecualikan atau pengen tidak ikut ter-upgrade saat melakukan apt-get upgrade.
    Baiklah, caranya kita mark apt dulu package mana yang hendak kita hold atau kita kecualikan. Langsung aja ketik begini :
    root@zpanel:/home/rahox# apt-mark hold openssh-client openssh-server
    openssh-client set on hold.
    openssh-server set on hold.

    Nah abis itu dipastikan saat apt-get upgrade ngga ada lagi package openssh-server yang akan diupgrade. Hasilnya gini sob :

    root@zpanel:/home/rahox# apt-get upgrade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following packages have been kept back:
      openssh-client openssh-server
    The following packages will be upgraded:
      base-files bind9 bind9-host bind9utils cpio dnsutils dpkg dpkg-dev git git-man grub-common grub-pc grub-pc-bin grub2-common
      isc-dhcp-client isc-dhcp-common krb5-locales libbind9-80 libc-bin libc-dev-bin libc6 libc6-dev libdns88 libdpkg-perl
      libfreetype6 libgcrypt11 libgd2-xpm libgnutls26 libgssapi-krb5-2 libisc84 libisccc80 libisccfg82 libk5crypto3 libkrb5-3
      libkrb5support0 libldap-2.4-2 liblwres80 libmysqlclient18 libpng12-0 libpq5 libruby1.9.1 libssh2-1 libssl1.0.0 libxapian22
      libxml2 linux-libc-dev locales multiarch-support mysql-client-5.5 mysql-common mysql-server mysql-server-5.5
      mysql-server-core-5.5 openssl perl perl-base perl-modules ruby1.9.1 ruby1.9.1-dev sudo tzdata unzip
    62 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
    Need to get 67.8 MB of archives.
    After this operation, 1,107 kB of additional disk space will be used.
    Do you want to continue [Y/n]
    Untuk menghapus mark tinggal unhold aja

    root@zpanel:/home/rahox# apt-mark unhold openssh-client openssh-server
    Canceled hold on openssh-client.
    Canceled hold on openssh-server.
    Semoga bermanfaat.

    Monday, September 26, 2016

    Sekedar info buat pengetahuan dasar tentang diagram kabel UTP.


    Dijelaskan bahwa ke-delapan kabel itu memiliki fungsi dan tugasnya masing masing. Dimana setiap perangkat yang dikoneksikan melalui perantara kabel membutuhkan TX (Transmit) dan RX (Receive). Normalnya jika hanya beroperasi 10/100Mbps cukup membutuhkan 4 kabel saja.
    Beda halnya jika perangkat itu membutuhkan POWER-DC seperti produk-produk TP-Link, UBNT, Mikrotik, dan lain sebagainya. Maka membutuhkan kabel dc injector. Adapun nama lain komponen penunjang itu adalah Power Over Ethernet atau biasa disebut PoE seperti berikut :


    Friday, September 16, 2016

    Apa itu dig ?
    + dig adalah utility linux untuk me-lookup dns. (Simple nya aja mirip nslookup)
    Bagaimana contoh comand nya ?
    + pada console ketikkan aja misalkan dig google.com nanti muncul seperti ini
    root@pi /home/pi # dig google.com

    ; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> google.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28771
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;google.com.                    IN      A

    ;; ANSWER SECTION:
    google.com.             109     IN      A       117.102.117.227
    google.com.             109     IN      A       117.102.117.212
    google.com.             109     IN      A       117.102.117.238
    google.com.             109     IN      A       117.102.117.234
    google.com.             109     IN      A       117.102.117.251
    google.com.             109     IN      A       117.102.117.249
    google.com.             109     IN      A       117.102.117.208
    google.com.             109     IN      A       117.102.117.241
    google.com.             109     IN      A       117.102.117.245
    google.com.             109     IN      A       117.102.117.230
    google.com.             109     IN      A       117.102.117.223
    google.com.             109     IN      A       117.102.117.218
    google.com.             109     IN      A       117.102.117.219
    google.com.             109     IN      A       117.102.117.216
    google.com.             109     IN      A       117.102.117.229
    google.com.             109     IN      A       117.102.117.240

    ;; Query time: 2 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Fri Sep 16 06:55:41 WIB 2016
    ;; MSG SIZE  rcvd: 295

    Lalu bagaimana jika dalam satu mesin terdapat 2 service DNS Server ?
    + kita tambahkan parameter -p untuk memilih port khusus.

    Mari langsung saja. Di bawah ini saya kasih sampel dalam 1 mesin menggunakan 2 DNS Server yakni unbound dan dnsmasq. Perhatikan yang saya beri warna merah adalah port yang sedang aktif. Jadi walaupun ada 2 Service DNS Server tidak bentrok karena beda port.
    *) catatan : unbound untuk mesin produksi, untuk memilih akamai server suka suka kita. Dan dnsmasq sebenernya include dari pihole untuk mem-blok iklan.


    root@pi /home/pi # netstat -tulpn
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      993/mysqld
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      662/lighttpd
    tcp        0      0 0.0.0.0:52              0.0.0.0:*               LISTEN      556/dnsmasq
    tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      1158/unbound
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      443/sshd
    tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      446/inetd
    tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      1158/unbound
    tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      449/sc_serv
    tcp        0      0 0.0.0.0:8001            0.0.0.0:*               LISTEN      449/sc_serv
    tcp6       0      0 :::80                   :::*                    LISTEN      662/lighttpd
    tcp6       0      0 :::52                   :::*                    LISTEN      556/dnsmasq
    tcp6       0      0 :::22                   :::*                    LISTEN      443/sshd
    udp        0      0 27.131.2.1:123          0.0.0.0:*                           510/ntpd
    udp        0      0 127.0.0.1:123           0.0.0.0:*                           510/ntpd
    udp        0      0 0.0.0.0:123             0.0.0.0:*                           510/ntpd
    udp        0      0 0.0.0.0:52              0.0.0.0:*                           556/dnsmasq
    udp        0      0 0.0.0.0:53              0.0.0.0:*                           1158/unbound
    udp6       0      0 fe80::ba27:ebff:fec:123 :::*                                510/ntpd
    udp6       0      0 ::1:123                 :::*                                510/ntpd
    udp6       0      0 :::123                  :::*                                510/ntpd
    udp6       0      0 :::52                   :::*                                556/dnsmasq
    Nah, sudah kelihatan bukan ? disana terdapat 2 service unbound dan dnsmasq dimana port service nya beda. Lalu mari kita pilih mau me-resolve menggunakan unbound (port 53) atau dnsmasq (port 52) dengan cara sbb :

    + Di bawah ini contoh meresolve dengan service unbound

    root@pi /home/pi # dig google.com @127.0.0.1 -p  53

    ; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> google.com @127.0.0.1 -p 53
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40675
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;google.com.                    IN      A

    ;; ANSWER SECTION:
    google.com.             300     IN      A       117.102.117.227
    google.com.             300     IN      A       117.102.117.212
    google.com.             300     IN      A       117.102.117.238
    google.com.             300     IN      A       117.102.117.234
    google.com.             300     IN      A       117.102.117.251
    google.com.             300     IN      A       117.102.117.249
    google.com.             300     IN      A       117.102.117.208
    google.com.             300     IN      A       117.102.117.241
    google.com.             300     IN      A       117.102.117.245
    google.com.             300     IN      A       117.102.117.230
    google.com.             300     IN      A       117.102.117.223
    google.com.             300     IN      A       117.102.117.218
    google.com.             300     IN      A       117.102.117.219
    google.com.             300     IN      A       117.102.117.216
    google.com.             300     IN      A       117.102.117.229
    google.com.             300     IN      A       117.102.117.240

    ;; Query time: 40 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Fri Sep 16 06:52:30 WIB 2016
    ;; MSG SIZE  rcvd: 295
    + Dan di bawah ini meresolve menggunakan dnsmasq

    root@pi /home/pi # dig google.com @127.0.0.1 -p  52

    ; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> google.com @127.0.0.1 -p 52
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37094
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 512
    ;; QUESTION SECTION:
    ;google.com.                    IN      A

    ;; ANSWER SECTION:
    google.com.             299     IN      A       74.125.68.100
    google.com.             299     IN      A       74.125.68.138
    google.com.             299     IN      A       74.125.68.102
    google.com.             299     IN      A       74.125.68.139
    google.com.             299     IN      A       74.125.68.101
    google.com.             299     IN      A       74.125.68.113

    ;; Query time: 32 msec
    ;; SERVER: 127.0.0.1#52(127.0.0.1)
    ;; WHEN: Fri Sep 16 06:52:31 WIB 2016
    ;; MSG SIZE  rcvd: 135