Tag Archives: Ubuntu

Setting Pi-Hole sebagai recursive DNS server

Pi-Hole

Sebagai pengguna internet aktif, saya selalu menggunakan VPN baik itu di HP, PC, koneksi selular, maupun WiFi (rumah dan kantor). Selain untuk peace of mind karena koneksi saya kontrol sendiri, VPN tersebut juga dikombinasikan dengan Pi-Hole DNS server untuk menghilangkan iklan jadi bisa browsing dengan nyaman dan ringan.

Cara menginstall Pi-Hole DNS server gampang banget, bisa dilihat langsung di websitenya. VPN menggunakan Wireguard atau OpenVPN, dengan tutorial di sini dan sini.

Nah ada kalanya karena alasan privasi, saya mau fully anonymous ketika berselancar, dengan cara tidak menggunakan public DNS resolver seperti Google, Cloudflare, dan OpenDNS. Client akan langsung mengirimkan query ke DNS root servers melalui recursive DNS server. Istilah kerennya sih, mencegah DNS leaking. Cuma ada satu kekurangannya, yaitu untuk domain yang baru pertama kali di-resolve, mungkin akan sedikit lebih lambat beberapa milliseconds karena path yang dituju lebih panjang.

Continue reading

Install OpenVPN Multi Port

OpenVPN adalah salah satu aplikasi Virtual Private Network (VPN) open source yang menggunakan protokol khusus, dan mudah untuk dikonfigurasi atau kustomisasi. Ngga seperti protokol VPN lain seperti L2TP/IPSEC, PPTP, dll yang konfigurasinya cukup rigid, dengan OpenVPN kita bisa bebas mengatur protokol TCP/UDP, port, termasuk jenis enkripsi yang digunakan.

Saya pribadi menggunakan OpenVPN hanya untuk keperluan bypass restriksi oleh ISP, routing/bandwidth internasional yang lebih baik, serta untuk menghapus iklan karena VPN tersebut saya kombinasikan dengan Pi-Hole DNS server (artikel menginstall Pi-Hole DNS server mungkin akan saya tulis terpisah). Oleh karena itu, enkripsi/cipher dan kompresi yang secara default aktif di OpenVPN akan saya disable. Gunanya supaya ngga ada overhead/CPU usage yang tinggi.

Tutorial kali ini dilakukan pada Linux Ubuntu 18.04 menggunakan script yang sudah dibuat oleh Nyr, dengan sedikit modifikasi sesuai kebutuhan:

  • UDP pada port 8888
  • TCP pada port 9999
  • Cipher disabled
  • Compression disabled
  • DNS menggunakan Cloudflare 1.1.1.1

Cekidot ghaes..

Continue reading

Add Swap Space on Ubuntu 16.04

Before begin, please check if the system already has swap space available. Even though it’s possible to have multiple swap files or swap partitions, one should be enough.

free -h

Output
total used free shared buff/cache available
Mem: 488M 36M 104M 652K 348M 426M
Swap: 0B 0B 0B

As we can see no swap is active on the system. We will create a 1 Gigabyte file in this guide. Adjust this to meet the needs of your own server:

fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

We can check the output of the “free” command again to verify the swap:

free -h

Output
total used free shared buff/cache available
Mem: 488M 37M 96M 652K 354M 425M
Swap: 1.0G 0B 1.0G

The swap space has been set up successfully and our operating system will begin to use it.

Now let’s make the swap space used permanently:

cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Done!

Setup 3proxy Anonymous Proxy on Ubuntu or Debian

The instruction suitable for all Unix distributions, because we are gonna compile it from source code. Compiling from source code is preferred, that way we will get the latest version. In this case I’m using Ubuntu/Debian.

To compile 3proxy from source code you need to install git, make, and gcc. Just type into your terminal:

apt-get install gcc make git -y

Next, browse to home directory

cd ~
git clone https://github.com/z3APA3A/3proxy.git

This will download latest version of 3proxy to your machine. Next step to compile and setup:

cd 3proxy
make -f Makefile.Linux

Now we put files into correct path and setup auto start of the service

mkdir -p /usr/local/etc/3proxy/bin
cp src/3proxy /usr/local/etc/3proxy/bin
cp ./scripts/rc.d/proxy.sh /etc/init.d/3proxy

Before we add 3proxy service to autostart, we need to do some adjustment to the default init script because it’s missing some LSB tags or else you’ll get some insserv warning.

vi /etc/init.d/3proxy

Change all the lines started with “#” with these lines:

#!/bin/sh
### BEGIN INIT INFO
# Provides: 3proxy
# Required-Start: $network $remote_fs $local_fs
# Required-Stop: $network $remote_fs $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Stop/start 3proxy
### END INIT INFO

Make the service auto start on boot

update-rc.d 3proxy defaults

Now let’s create the config file.

vi /usr/local/etc/3proxy/3proxy.cfg

You can RTFM for all the parameters or options, but to make it short, these are my config for anonymous proxy:
Continue reading

Completely Disable IPv6

Kemarin saya udah buat tutorial dengan tujuan yang sama, untuk disable IPv6 di CentOS. Tapi kali ini saya akan kasih tau dengan cara yang lain, yaitu via GRUB2. Jadi seharusnya bisa untuk CentOS, Ubuntu, atau Debian.

Buka /etc/default/grub dengan editor, lalu tambahkan “ipv6.disable=1” pada direktif GRUB_CMDLINE_LINUX. Ini contoh di server Ubuntu 16.04 saya:

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="ipv6.disable=1 elevator=noop"

Setelah itu jangan lupa untuk update GRUB, kalau Ubuntu/Debian;

update-grub

sedangkan CentOS;

grub2-mkconfig -o /boot/grub2/grub.cfg

atau

grubby --update-kernel=ALL --args=ipv6.disable=1

Enjoy!