CentOS 7 Tips and Trick

CentOS 7 Tips and Trick

Pilot

Awal postingan ini ditulis karena ingin memberdayakan laptop Dell Latitude E4300 yang sudah pecah dan tidak bisa terlihat lagi outputnya. Laptop sudah tidak digunakan lagi karena alhamdulillah sudah ada gantinya yaitu HP ProLiant MicroServer N54L yang dapat keringanan untuk mencicil oleh bossnya Pandawa Computers. Well, jadi ingat, ternyata Dell Latitude E4300 juga hasil nyicil sama Pandawa Computers. Di-install-lah laptopnya yang tentunya menggunakan CentOS 7 dimana untuk mengakali tampilannya saya menggunakan monitor yang menggunakan VGA dan kemudian tekan pada keyboard FN+F8 untuk extended monitor.

Install CentOS 7 Dengan Text Mode

Untuk memulai proses instalasi dengan text mode, pada saat menu install kita tekan tab dan kemudian pada perintah yang ada tekan spasi dan ketik text dan enter untuk memulai proses install.

Prosesnya sih sama dengan install metode graphic dan sepertinya saya mulai menyukai install dengan text mode ini karena lebih simple menurut saya. Tanpa harus ada mouse, kalau ada graphic kan gatelnya harus ada mouse yakan, hehehe.

Menjaga Laptop Agar Tidak Tidur (sleep) Saat Layar (lid) Laptop Ditutup

Nah, karena layar laptop sudah tidak bisa digunakan lagi, sebetulnya sih enaknya dicabut saja tapi belum ada waktu nih untuk ngoprek, ya sudah pilihannya adalah saat ini menjaga agar laptop bisa ON terus tapi layar laptop bisa ditutup. Soalnya kalau layarnya ditegakkan bisa-bisa jadi perhatian Zach dan nanti malah dioprek sama dia, xixixi.

WARNING

Ada beberapa tipe laptop yang malah jadi overheat saat laptop dibiarkan untuk ON sedangkan layarnya ditutup.

Ketik perintah:

vim /etc/systemd/logind.conf

Dan kemudian cari HandleLidSwitch=suspend dan diganti dengan HandleLidSwitch=ignore. Sebetulnya ada 4 tipe yaitu:

  • suspend; dimana ini adalah default dari OS agar laptop tidur saat layar laptop ditutup.
  • lock; dimana OS akan dilock saat layar laptop ditutup
  • ignore; untuk memilih tidak ada tindakan apapun ketika layar laptop ditutup
  • poweroff; jika memilih agar laptop shutdown ketika layar ditutup

Setelah mengganti dengan HandleLidSwitch=ignore file disimpan dan kemudian jalankan perintah berikut:

systemctl restart systemd-logind.service

Dan silakan test reboot kalau gak percaya, hehehe. Awalnya saya juga begitu, agak sangsi, saya coba dengan test ping, dan menunggu beberapa menit ternyata akhirnya reply juga hasil ping, hehehe.

Mungkin bisa ditambah dengan perintah berikut untuk rencana cadangan xixixi

systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Akses Windows Share

Install cifs-utils

Install dependenciesnya terlebih dahulu dengan perintah:

yum install cifs-utils

Tapi kalau di wiki.centos.org sekalian sama sambanya yang diinstall, yaitu dengan perintah:

yum install samba-client samba-common cifs-utils

Menambahkan di fstab

Karena saya lebih suka agar buka sharingnya otomatis, maka kita akan menambahkan mount share di file /etc/fstab dengan perintah:

\\10.0.7.3\dartokloning /mnt/dartokloning cifs user,uid=500,rw,suid,username=darto,password=kloning 0 0

Kalau sudah, buat terlebih dahulu foldernya sesuai seperti yang kita cantumkan dengan perintah:

mkdir /mnt/dartokloning

Dan kemudian kita test untuk mount dengan perintah:

mount /mnt/dartokloning

atau kalau banyak yang harus dimount, bisa juga dengan perintah:

mount -a

Nah, kadang kita lupa nama share yang kita buat di Windows itu tadi apa ya? kita bisa melihatnya dengan perintah:

smbclient -L 10.0.7.3

Plex Media Server

Menambahkan Repository

Kita akan install Plex Media Server melalui plex repository dan artinya kita harus daftarkan terlebih dahulu repo tersebut dengan perintah:

vim /etc/yum.repos.d/plex.repo

Dan kemudian masukkan kode berikut dibawah ini:

[PlexRepo]
name=PlexRepo
baseurl=https://downloads.plex.tv/repo/rpm/$basearch/
enabled=1
gpgkey=https://downloads.plex.tv/plex-keys/PlexSign.key
gpgcheck=1

Install Plex Media Server

Setelah itu baru kita install Plex Media Servernya dengan perintah:

yum update
yum install plexmediaserver

Kemudian kita akan buat agar Plex Media Server akan berjalan otomatis saat booting.

systemctl start plexmediaserver
systemctl enable plexmediaserver

Mendaftarkan atau Membuka Port Plex Media Server di Firewall

Dan Plex Media Server sudah berjalan tetapi saat ini masih belum bisa dibuka dimana-mana kecuali oleh local, karena itu kita akan buka port-port yang digunakan oleh Plex Media Server dengan cara:

firewall-cmd --zone=public --add-port=32400/tcp --permanent
firewall-cmd --zone=public --add-port=1900/udp --permanent
firewall-cmd --zone=public --add-port=3005/tcp --permanent
firewall-cmd --zone=public --add-port=5353/udp --permanent
firewall-cmd --zone=public --add-port=8324/tcp --permanent
firewall-cmd --zone=public --add-port=32410/udp --permanent
firewall-cmd --zone=public --add-port=32412-32414/udp --permanent
firewall-cmd --zone=public --add-port=32469/tcp --permanent
firewall-cmd --reload

Setelah portnya kita daftarkan ke firewall, kita bisa akses Plex Media Server dengan membuka url http://10.0.7.4:32400/web/ dibrowser.

Baca juga:  SSH: Remove Host Key From known_hosts

mmmmm sebetulnya ada cara lain untuk membuka port banyak sekaligus, mmmmm mungkin lebih simple, hehehe, yaitu dengan mendaftarkan semua port diatas pada file xml yang akan difungsikan sebagai service, caranya adalah:

vim /etc/firewalld/services/plexmediaserver.xml

Kemudian masukkan kode dibawah ini:

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>plexmediaserver</short>
  <description>Port-port yang digunakan oleh plexmediaserver.</description>
  <port protocol="tcp" port="32400"></port>
  <port protocol="udp" port="1900"></port>
  <port protocol="tcp" port="3005"></port>
  <port protocol="udp" port="5353"></port>
  <port protocol="tcp" port="8324"></port>
  <port protocol="udp" port="32410"></port>
  <port protocol="udp" port="32412"></port>
  <port protocol="udp" port="32413"></port>
  <port protocol="udp" port="32414"></port>
  <port protocol="tcp" port="32469"></port>
</service>

Untuk mendaftarkan file port service plexmediaserver.xml di firewall adalah dengan perintah:

firewall-cmd --zone=public --add-service=plexmediaserver --permanent
firewall-cmd --reload

Updated onThu, Jan 2, 2020 5:53 PM : Menambahkan Uninstall atau Hapus Plex Media Server

Uninstall atau Hapus Plex Media Server

rpm -e plexmediaserver
rm -fr /var/lib/plexmediaserver/
userdel plex
rm -f /etc/firewalld/services/plexmediaserver.xml
firewall-cmd --reload

Updated at: Sunday, November 24, 2019 6:11 AM

IP Static

Well, jadi gak berurutan yah stepnya, tapi gak apalah, kan ini note saya, xixixi dan bisa dilihat juga dari daftar isinya. Keingetan sama nmtui yaitu NetworkManager Text User Interface dimana cara lain setting IP tanpa harus edit network script. Dan nmtui ini di CentOS 7 sudah default yah.

Karena biasanya kalau mau setting IP static, sebelumnya harus cek terlebih dahulu interface yang digunakan biar tidak salah konfigurasi dengan perintah:

ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s25:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:26:b9:b1:74:31 brd ff:ff:ff:ff:ff:ff
    inet 10.0.7.4/8 brd 10.255.255.255 scope global noprefixroute enp0s25
       valid_lft forever preferred_lft forever
    inet6 fe80::ee58:e9d2:7336:1282/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wlp12s0:  mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether e6:ff:38:1f:6e:84 brd ff:ff:ff:ff:ff:ff

Dari output diatas terlihat ada 2 interface, kalau lo itu loop, tidak kita setting. Apa sih loop? mmmmm saat ini lagi masih belum mau tau cari tahu apa itu loopback. Dan akhirnya penasaran juga HAHAHAHA, gugling dikit maksud dari lo adalah The loopback device is a special, virtual network interface that your computer uses to communicate with itself. It is used mainly for diagnostics and troubleshooting, and to connect to servers running on the local machine.

OK lanjut ke setting network, seperti kita lihat ada 2 yaitu di no 2: enp0s25 dan no 3:wlp12s0, dimana enp0s25 adalah NIC dan wlp12s0 adalah wireless. Kan, dari sini aja kita kudu repot ini itu tuk setting jaringan, xixixi. Beda kalau langsung pakai nmtui. Setelah itu kita rubah IP atau kita tanamkan IP di interface yang kita mau, yaitu di enp0s25 dengan cara:

HWADDR=00:26:b9:b1:74:31
TYPE=Ethernet
# Static IP Address #
BOOTPROTO=none
# Server IP #
IPADDR=10.0.7.4
# Netmask #
NETMASK=255.255.255.0
# Default Gateway IP #
GATEWAY=10.0.7.1
# DNS Servers #
DNS1=8.8.8.8
DNS2=8.8.4.4
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
# Disable ipv6 #
IPV6INIT=no
# Device Name #
NAME=enp0s3
DEVICE=enp0s3
# Optional – This is system specific and can be created using ‘uuidgen enp0s3’ command #
UUID=02d4a47b-3dbe-4e0b-ae4b-841a8c58e807
# Activate on Boot #
ONBOOT=yes
# Default Domain Search #
DOMAIN=kloningspoon.com

Kalau sudah diedit dan disave kemudian ketik perintah:

systemctl restart network

Nah, gimana kalau mau setting yang wireless? ah sudah lah, pakai nmtui aja yah, hehehe.

Information

Eh ternyata banyak juga yang katanya kalau nmtui ini bukan bawaan default CentOS 7 Minimal Install. Tapi kok disaya setelah fresh install ya selalu ada yah, tapi bagi yang ingin install dan gak usah cari lagi kemana-mana, incase emang nanti dibutuhkan, well, untuk nmtuiini diinstall menggunakan cara: yum install NetworkManager-tui

CentOS 7 Firewall Command

Jadinya sekalian aja deh cheat sheet nya ditulis juga command-command untuk mengatur firewalld.

File Konfigurasi

File konfigurasi firewalld berada di /etc/firewalld/zones/public.xml

Buka Port

Perintah untuk buka port adalah:

firewall-cmd --zone=public --add-port=81/tcp --permanent

Yang perlu diperhatikan adalah protokolnya tcp atau udp.

Buka Port Untuk Specific IP

Untuk buka port yang bisa diakses oleh IP tertentu atau maksudnya hanya spesifik IP yang bisa akses pada port tertentu, perintahnya adalah:

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.7.5" port protocol="tcp" port="22" accept

Contoh diatas maksudnya adalah ingin membatasi ssh login dimana port defaultnya adalah 22 dan hanya ingin bisa diakses oleh IP 10.0.7.5 saja.

Hapus Port

Untuk menghapus port perintahnya adalah:

firewall-cmd --zone=public --remove-port=81/tcp --permanent

Jangan lupa dengan protokolnya yah, tcp atau udp, karena kalau kita kasih perintahnya tcp tapi ternyata sebelumnya protokol yang kita pakai adalah udp ya gak akan kehapus portnya dari firewalld.

Save Konfigurasi

Jangan lupa kalau sudah melakukan perintah menambahkan atau menghapus port pada firewalld untuk melakukan reload yaitu dengan perintah:

firewall-cmd --reload

Cek List Port Yang Sudah Dibuka Firewalld

Perintahnya adalah:

firewall-cmd --list-ports

Information

Walaupun sebetulnya tanpa akhiran s juga bisa, yaitu dengan firewall-cmd --list-port.

Atau cara ceknya menggunakan perintah lain yaitu:

netstat -pltnu
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:25            0.0.0.0:*               LISTEN      1423/master         
tcp        0      0 127.0.0.1:44911         0.0.0.0:*               LISTEN      4729/Plex Plug-in [ 
tcp        0      0 127.0.0.1:32401         0.0.0.0:*               LISTEN      4123/Plex Media Ser 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1043/sshd           
tcp        0      0 127.0.0.1:32600         0.0.0.0:*               LISTEN      4189/Plex Tuner Ser 
tcp6       0      0 ::1:25                  :::*                    LISTEN      1423/master         
tcp6       0      0 :::32400                :::*                    LISTEN      4123/Plex Media Ser 
tcp6       0      0 :::22                   :::*                    LISTEN      1043/sshd           
udp        0      0 0.0.0.0:1901            0.0.0.0:*                           4123/Plex Media Ser 
udp        0      0 10.0.7.4:35983          0.0.0.0:*                           4123/Plex Media Ser 
udp        0      0 10.0.7.4:33937          0.0.0.0:*                           4123/Plex Media Ser 
udp        0      0 127.0.0.1:44316         0.0.0.0:*                           4123/Plex Media Ser 
udp        0      0 127.0.0.1:323           0.0.0.0:*                           686/chronyd         
udp        0      0 10.0.7.4:33312          0.0.0.0:*                           4123/Plex Media Ser 
udp        0      0 127.0.0.1:40504         0.0.0.0:*                           4123/Plex Media Ser 
udp        0      0 0.0.0.0:32410           0.0.0.0:*                           4123/Plex Media Ser 
udp        0      0 0.0.0.0:32412           0.0.0.0:*                           4123/Plex Media Ser 
udp        0      0 0.0.0.0:32413           0.0.0.0:*                           4123/Plex Media Ser 
udp        0      0 0.0.0.0:32414           0.0.0.0:*                           4123/Plex Media Ser 
udp6       0      0 ::1:323                 :::*                                686/chronyd

YUM

Ini ditulis biar biasa aja, semoga aja setelah menulis bisa jadi biasa, hehehe.

Pencarian

Kadang kalau kita ikuti panduan yang kita baca, ya misalkan seperti netstat diatas, kalau fresh installation nya ya tidak ada tools netstat itu. Kalau kita coba jalankan perintah diatas netstat -ltnu maka hasilnya adalah:

-bash: netstat: command not found

Itu karena kita belum meng-install tools tersebut, dan kalau kita coba install dengan yum install netstat maka hasilnya adalah:

yum install netstat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                 | 9.2 kB  00:00:00     
 * base: mirror.axarva.id
 * epel: epel.dionipe.id
 * extras: mirror.axarva.id
 * updates: mirror.axarva.id
PlexRepo                                                                                             | 1.4 kB  00:00:00     
base                                                                                                 | 3.6 kB  00:00:00     
extras                                                                                               | 2.9 kB  00:00:00     
updates                                                                                              | 2.9 kB  00:00:00     
No package netstat available.
Error: Nothing to do

Artinya gak ada, hehehe. Nah kalau gitu kita bisa coba dengan cari tools netstat itu ada dimana sih, yaitu dengan perintah:

yum search netstat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.axarva.id
 * epel: epel.dionipe.id
 * extras: mirror.axarva.id
 * updates: mirror.axarva.id
===================================================== Matched: netstat =====================================================
bwm-ng.x86_64 : Bandwidth Monitor NG
dstat.noarch : Versatile resource statistics tool
net-snmp.x86_64 : A collection of SNMP protocol tools and libraries
net-tools.x86_64 : Basic networking tools
python2-psutil.x86_64 : A process and system utilities module for Python
python34-psutil.x86_64 : A process and system utilities module for Python
python36-psutil.x86_64 : A process and system utilities module for Python
unhide.x86_64 : Tool to find hidden processes and TCP/UDP ports from rootkits

Provides (Penyedia)

Kalau kita coba dengan pencarian diatas, kita masih sedikit binggung bagi yang masih binggung, hehehe, netstat mana yang sebetulnya yang kita inginkan. Nah, untuk mengetahuinya kita bisa coba dengan perintah:

yum provides */netstat

Nah, kenapa pakai */netstat? kenapa gak langsung aja jadi yum provides netstat? Karena kalau kita lihat dari hasil yum search netstat, diketahui bahwa netstat ini ternyata tools yang bukan berdiri sendiri, maksudnya tools group bersamaan dengan tools yang lain, taunya darimana? karena waktu kita coba cari dengan perintah yum search netstattidak ada package yang langsung mengarah ke netstat, tidak seperti kalau halnya kita mencari ntfs-3g. Misal kita cari yum search ntfs-3g maka hasilnya adalah:

yum search ntfs-3g
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.axarva.id
 * epel: kartolo.sby.datautama.net.id
 * extras: mirror.axarva.id
 * updates: mirror.axarva.id
=================================================== N/S matched: ntfs-3g ===================================================
ntfs-3g-devel.x86_64 : Development files and libraries for ntfs-3g
ntfs-3g.x86_64 : Linux NTFS userspace driver
  Name and summary matches only, use "search all" for everything.

Disitu kita tahu ada packages yang memang berkenaan dengan ntfs-3g dan kalau kita yum install ntfs-3g ya langsung diproses tidak seperti waktu kita coba yum install netstat.

Nah, untuk mencari dimana packages netstat itu berada, kita pakai perintah yum provides */netstat, yang hasilnya adalah:

yum provides */netstat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.axarva.id
 * epel: epel.dionipe.id
 * extras: mirror.axarva.id
 * updates: mirror.axarva.id
check-mk-1.4.0p31-2.el7.x86_64 : A new general purpose Nagios-plugin for retrieving data
Repo        : epel
Matched from:
Filename    : /usr/share/check_mk/checks/netstat
check-mk-agent-1.4.0p31-2.el7.x86_64 : The check-mk's Agent
Repo        : epel
Matched from:
Filename    : /usr/share/check-mk-agent/available-plugins/netstat
check-mk-docs-1.4.0p31-2.el7.noarch : The check-mk's documentation
Repo        : epel
Matched from:
Filename    : /usr/share/doc/check_mk/checks/netstat
munin-node-2.0.51-1.el7.noarch : Network-wide resource monitoring tool (node)
Repo        : epel
Matched from:
Filename    : /usr/share/munin/plugins/netstat
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
Repo        : base
Matched from:
Filename    : /bin/netstat
recap-2.1.0-3.el7.noarch : Generates reports of various system information
Repo        : epel
Matched from:
Filename    : /usr/lib/recap/core/netstat

Nah, kalau lihat hasilnya, kira-kira sudah tau kan packages yang mana yang berisi netstat yang kita inginkan?

mmmmmm it’s supposed to be you will answer net-tools, xixixi.

Dan artinya, untuk menginstall netstat ini kita harus dengan menggunakan perintah:

yum install net-tools

Updated on Thu, Jan 2, 2020 5:53 PM: Menambahkan Install LAMP Stack dan Blokir Iklan Dengan BIND DNS Server

Install LAMP Stack

Persiapan

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum install epel-release

Install MariaDB / MySQL

yum install mariadb-server mariadb
systemctl start mariadb.service
systemctl enable mariadb.service

Kemudian buat password root untuk MySQL dengan menjalankan perintah:

mysql_secure_installation
  1. Enter current password for root (enter for none): => tekan ENTER
  2. Set root password? [Y/n] => tekan ENTER
  3. New password: => ketik password yang diinginkan untuk root
  4. Re-enter new password: => ulangi ketik passwordnya
  5. Remove anonymous users? [Y/n] => tekan ENTER
  6. Disallow root login remotely? [Y/n] => tekan ENTER
  7. Remove test database and access to it? [Y/n] => tekan ENTER
  8. Reload privilege tables now? [Y/n] => tekan ENTER

Install Apache

yum install httpd
systemctl start httpd.service
systemctl enable httpd.service
firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Install PHP

Pilih salah satu versi PHP yang ingin di install, tidak bisa di install semua versi.

Remi CentOS Repository

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install yum-utils
yum update

Install PHP 5.4

yum install php php-mysqlnd php-pdo
systemctl restart httpd.service

Install PHP 7.0

yum-config-manager --enable remi-php70
yum install php php-opcache php-mysqlnd php-pdo
systemctl restart httpd.service

Install PHP 7.1

yum-config-manager --enable remi-php71
yum install php php-opcache php-mysqlnd php-pdo
systemctl restart httpd.service

Install PHP 7.2

yum-config-manager --enable remi-php72
yum install php php-opcache php-mysqlnd php-pdo
systemctl restart httpd.service

Install PHP 7.3

yum-config-manager --enable remi-php73
yum install php php-opcache php-mysqlnd php-pdo
systemctl restart httpd.service

Install PHP Module Untuk Kebutuhan CMS

yum install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel
systemctl restart httpd.service

Install phpMyAdmin

yum install phpMyAdmin

Kemudian kita hapus block dan kemudian menambahkan Require all granted

vim /etc/httpd/conf.d/phpMyAdmin.conf

 AddDefaultCharset UTF-8
 
 #Apache 2.4
#
#Require ip 127.0.0.1
#Require ip ::1
#
 Require all granted
 
 
 # Apache 2.2
 Order Deny,Allow
 Deny from All
 Allow from 127.0.0.1
 Allow from ::1
 

Dan restart Apache

systemctl restart  httpd.service

Blokir Iklan Dengan BIND DNS Server

Setting Hostname

hostnamectl set-hostname delle4300

Seting IP Static Menggunakan nmcli

nmcli con show
nmcli con mod enp0s25 ipv4.method manual ipv4.address 10.0.7.4/24 ipv4.gateway 10.0.7.1 ipv4.dns 10.0.7.1
systemctl restart network

Install BIND

yum install bind bind-utils

Menambahkan BIND DNS Server di Firewall

firewall-cmd --permanent --zone=public --add-service=dns
firewall-cmd --reload

Setting BIND DNS Server

Edit /etc/named.conf

cp /etc/named.conf /etc/named.conf.ori
vim /etc/named.conf

dan rubah seperti berikut:

options {
        check-names master ignore;
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
        allow-query-cache { any; };
        /*
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable
           recursion.
         - If your recursive DNS server has a public IP address, you MUST enable access
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface
        */
        recursion yes;
        forward only;
        forwarders { 10.0.7.1; };
        dnssec-enable yes;
        dnssec-validation no;
        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";
        managed-keys-directory "/var/named/dynamic";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "darto.com" {
   type master;
   file "darto.com.zone";
   allow-update { none; };
};
zone "7.0.10.in-addr.arpa" {
   type master;
   file "darto.com.revzone";
   allow-update { none; };
};
zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

Buat Forward Zone darto.com.zone

vim /var/named/darto.com.zone

dan copy paste berikut ini:

$TTL    86400
@       IN      SOA     delle4300.darto.com.    delle4300.darto.com. (
                2019122706      ;Serial
                1d              ;Refresh
                2h              ;Retry
                4w              ;Expire
                1h )            ;Minimum TTL
        IN      NS      delle4300.darto.com.
delle4300       IN      A       10.0.7.4

Buat Reverse Lookup Zone darto.com.revzone

vim /var/named/darto.com.zone.revzone

dan copy paste berikut ini:

$TTL 86400
@       IN      SOA delle4300.darto.com.        delle4300.darto.com. (
        2020010201; Serial
        1d ; Refresh
        2h ; Retry
        4w ; Expire
        1h );  min cache
        IN      NS      delle4300.darto.com.
4       IN      PTR     delle4300.darto.com.

Mengaktifkan DNS

Setelah membuat /var/named/darto.com.zone dan /var/named/darto.com.revzone kemudian saatnya mengaktifkan DNS.

systemctl enable named
systemctl start named

Setting Network dengan DNS

nmcli con mod enp0s25 ipv4.method manual ipv4.address 10.0.7.4/24 ipv4.dns 10.0.7.4 ipv4.gateway 10.0.7.1 ipv4.dns-search darto.com
systemctl restart network

Test DNS

Test menggunakan nslookup:

nslookup google.com
Server:         10.0.7.4
Address:        10.0.7.4#53
Non-authoritative answer:
Name:   google.com
Address: 74.125.24.113
Name:   google.com
Address: 74.125.24.100
Name:   google.com
Address: 74.125.24.139
Name:   google.com
Address: 74.125.24.101
Name:   google.com
Address: 74.125.24.138
Name:   google.com
Address: 74.125.24.102
Name:   google.com
Address: 2404:6800:4003:c02::8a
nslookup delle4300.darto.com
Server:         10.0.7.4
Address:        10.0.7.4#53
Name:   delle4300.darto.com
Address: 10.0.7.4

Test menggunakan dig:

dig google.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44100
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.                    IN      A
;; ANSWER SECTION:
google.com.             1       IN      A       74.125.24.113
google.com.             1       IN      A       74.125.24.139
google.com.             1       IN      A       74.125.24.102
google.com.             1       IN      A       74.125.24.101
google.com.             1       IN      A       74.125.24.100
google.com.             1       IN      A       74.125.24.138
;; Query time: 0 msec
;; SERVER: 10.0.7.4#53(10.0.7.4)
;; WHEN: Thu Jan 02 15:47:54 WIB 2020
;; MSG SIZE  rcvd: 135
dig delle4300.darto.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> delle4300.darto.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4879
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;delle4300.darto.com.           IN      A
;; ANSWER SECTION:
delle4300.darto.com.    86400   IN      A       10.0.7.4
;; AUTHORITY SECTION:
darto.com.              86400   IN      NS      delle4300.darto.com.
;; Query time: 0 msec
;; SERVER: 10.0.7.4#53(10.0.7.4)
;; WHEN: Thu Jan 02 15:48:08 WIB 2020
;; MSG SIZE  rcvd: 78

Setting Adblock

wget -q -O adblock.hosts https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn/hosts
cat adblock.hosts | grep '^0.0.0.0' | egrep -v '127.0.0.1|255.255.255.255|::1' | cut -d " " -f 2 >> adblock.temp
cat adblock.temp | egrep -v '^$|#' | sort | uniq > adblock.hosts
cat adblock.hosts | sed -r 's/(.*)/zone "\1" {type master; file "null.zone.file";};/' > adblock.zone
cp adblock.zone /var/named/
rm -rf adblock.hosts adblock.temp

Membuat Null Zone

vim /var/named/null.zone.file

dan copy paste berikut:

$TTL    86400 ; one day
@       IN      SOA     delle4300.darto.com.    root.darto.com. (
                2019122706      ;Serial
                3600            ;Refresh
                1800            ;Retry
                604800          ;Expire
                86400 )         ;Minimum TTL
                NS      delle4300.darto.com.
                A       10.0.7.4
@       IN      A       10.0.7.4
*       IN      A       10.0.7.4

Dan tambahkan file diatas di ujung konfigurasi /etc/named.conf dengan perintah:

include "/var/named/adblock.zone";

Kemudian restart DNS

systemctl restart named

Dan ketika direstart akan agak sedikit lama karena harus memuat 58.622 records yang diambil dari StevenBlack, mungkin bisa bertambah recordsnya seiring dengan waktu.

Kemudian tinggal kita buat tampilan ketika mengunjungi salah satu domain atau website yang sudah diblokir.

vim /var/www/html/index.html

dan kemudian copy paste kode berikut:

<!DOCTYPE html><html><body><style>html,body{width:100%;height:100%;margin:0;padding:0;display:flex;align-items:center;justify-content:center}#denied{width:50vmin;height:50vmin;max-width:500px;max-height:500px}</style><svg version="1.0" id="denied" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30%" viewBox="0 0 342.2 425.2" enable-background="new 0 0 342.2 425.2" xml:space="preserve"> <g> <rect x="0" y="0" fill="#FFFFFF" width="342.2" height="425.2"/> <radialGradient id="SVGID_1_" cx="1823.545" cy="57.8953" r="65.0696" gradientTransform="matrix(2.2656 0 0 0.2345 -3960.3254 366.8454)" gradientUnits="userSpaceOnUse"> <stop offset="0" style="stop-color:#808080"/> <stop offset="0.2486" style="stop-color:#A7A7A7"/> <stop offset="0.5902" style="stop-color:#D6D6D6"/> <stop offset="0.8517" style="stop-color:#F4F4F4"/> <stop offset="1" style="stop-color:#FFFFFF"/> </radialGradient> <path fill="url(#SVGID_1_)" d="M318.5,380.4c0,8.4-66,15.3-147.4,15.3c-81.4,0-147.4-6.8-147.4-15.3c0-8.4,66-15.3,147.4-15.3 C252.5,365.2,318.5,372,318.5,380.4z"/> </g> <g> <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="43.3823" y1="212.5981" x2="298.8139" y2="212.5981"> <stop offset="0" style="stop-color:#808285"/> <stop offset="7.764819e-003" style="stop-color:#828486"/> <stop offset="0.201" style="stop-color:#ABADB0"/> <stop offset="0.3682" style="stop-color:#CBCDCF"/> <stop offset="0.5012" style="stop-color:#DFE0E1"/> <stop offset="0.5834" style="stop-color:#E6E7E8"/> <stop offset="0.985" style="stop-color:#A7A9AC"/> </linearGradient> <path fill="url(#SVGID_2_)" d="M294.9,81.6c-6.4-9.5-48.3-31.4-123.8-31.7C95.7,50.2,53.8,72.1,47.4,81.6 c-6.5,9.6-3.2,199.5-3.2,199.5c0,14.7,45,67,127,94.2c82-27.2,126.6-79.5,126.6-94.2C297.8,281.1,301.4,91.2,294.9,81.6z"/> <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="46.8556" y1="212.5986" x2="295.3401" y2="212.5986"> <stop offset="0" style="stop-color:#808285"/> <stop offset="4.573045e-003" style="stop-color:#828486"/> <stop offset="0.1184" style="stop-color:#ABADB0"/> <stop offset="0.2168" style="stop-color:#CBCDCF"/> <stop offset="0.2952" style="stop-color:#DFE0E1"/> <stop offset="0.3436" style="stop-color:#E6E7E8"/> <stop offset="0.985" style="stop-color:#A7A9AC"/> </linearGradient> <path fill="url(#SVGID_3_)" d="M291.6,85.2c-6.2-9.3-46.9-30.5-120.4-30.8C97.7,54.6,57,75.9,50.8,85.2 c-6.3,9.3-3.2,194.1-3.2,194.1c0,14.3,43.8,65.2,123.6,91.6c79.7-26.4,123.2-77.3,123.2-91.6C294.4,279.2,297.9,94.5,291.6,85.2z" /> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="74.6461" y1="212.5986" x2="267.5513" y2="212.5986"> <stop offset="0" style="stop-color:#808285"/> <stop offset="1.331037e-002" style="stop-color:#828486"/> <stop offset="0.3445" style="stop-color:#ABADB0"/> <stop offset="0.6311" style="stop-color:#CBCDCF"/> <stop offset="0.8591" style="stop-color:#DFE0E1"/> <stop offset="1" style="stop-color:#E6E7E8"/> </linearGradient> <path fill="url(#SVGID_4_)" d="M264.6,113.7c-4.8-7.2-36.4-23.7-93.5-23.9c-57,0.2-88.6,16.7-93.5,23.9 c-4.9,7.2-2.5,150.7-2.5,150.7c0,11.1,34,50.6,95.9,71.1c61.9-20.5,95.6-60,95.6-71.1C266.8,264.3,269.5,120.9,264.6,113.7z"/> <radialGradient id="SVGID_5_" cx="171.8369" cy="208.1751" r="119.9509" gradientUnits="userSpaceOnUse"> <stop offset="0" style="stop-color:#ED1C24"/> <stop offset="0.5792" style="stop-color:#9C1421"/> <stop offset="1" style="stop-color:#76030E"/> </radialGradient> <path fill="url(#SVGID_5_)" d="M262.4,116c-4.7-7-35.6-23.1-91.2-23.3C115.5,92.9,84.7,109,79.9,116c-4.8,7.1-2.4,147.1-2.4,147.1 c0,10.8,33.2,49.4,93.6,69.4c60.4-20,93.4-58.6,93.4-69.4C264.5,263.1,267.2,123.1,262.4,116z"/> <defs> <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="82.2" y="99.3" width="177.3" height="130"> <feFlood style="flood-color:white;flood-opacity:1" result="back"/> <feBlend in="SourceGraphic" in2="back" mode="normal"/> </filter> </defs> <mask maskUnits="userSpaceOnUse" x="82.2" y="99.3" width="177.3" height="130" id="SVGID_6_"> <g filter="url(#Adobe_OpacityMaskFilter)"> <defs> <filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="82.2" y="99.3" width="177.3" height="130"> <feFlood style="flood-color:white;flood-opacity:1" result="back"/> <feBlend in="SourceGraphic" in2="back" mode="normal"/> </filter> </defs> <mask maskUnits="userSpaceOnUse" x="82.2" y="99.3" width="177.3" height="130" id="SVGID_6_"> <g filter="url(#Adobe_OpacityMaskFilter_1_)"> </g> </mask> <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="129.4478" y1="65.2993" x2="193.6039" y2="239.9317"> <stop offset="0" style="stop-color:#FFFFFF"/> <stop offset="0.1186" style="stop-color:#D2D2D2"/> <stop offset="0.3652" style="stop-color:#797979"/> <stop offset="0.5663" style="stop-color:#383838"/> <stop offset="0.7116" style="stop-color:#0F0F0F"/> <stop offset="0.7866" style="stop-color:#000000"/> </linearGradient> <path mask="url(#SVGID_6_)" fill="url(#SVGID_7_)" d="M133.8,195c38.6-22.6,81.1-44,125.7-51.9c-0.4-11.9-1.1-20.2-2.1-21.7 c-4.5-6.6-33.6-21.8-86.2-22c-52.6,0.2-81.7,15.4-86.2,22c-3.1,4.6-3,68.4-2.6,107.9C98.5,216.5,115.9,205.4,133.8,195z"/> </g> </mask> <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="129.4478" y1="65.2993" x2="193.6039" y2="239.9317"> <stop offset="0" style="stop-color:#FFFFFF"/> <stop offset="0.1186" style="stop-color:#FDD7C7"/> <stop offset="0.3652" style="stop-color:#F69274"/> <stop offset="0.5663" style="stop-color:#F15F43"/> <stop offset="0.7116" style="stop-color:#EE352A"/> <stop offset="0.7866" style="stop-color:#ED1C24"/> </linearGradient> <path fill="url(#SVGID_8_)" d="M133.8,195c38.6-22.6,81.1-44,125.7-51.9c-0.4-11.9-1.1-20.2-2.1-21.7c-4.5-6.6-33.6-21.8-86.2-22 c-52.6,0.2-81.7,15.4-86.2,22c-3.1,4.6-3,68.4-2.6,107.9C98.5,216.5,115.9,205.4,133.8,195z"/> </g> <g> <path fill="#FFFFFF" d="M171.1,128.3c0.2,0,0.4,0.2,0.5,0.4l50.2,90.7c0.2,0.4,0.2,0.8,0,1.2c-0.1,0.2-0.3,0.4-0.5,0.4H120.9 c-0.2,0-0.4-0.2-0.5-0.4c-0.2-0.4-0.2-0.8,0-1.2l50.2-90.7C170.7,128.5,170.9,128.3,171.1,128.3 M171.1,120c-3.2,0-6.2,1.8-7.8,4.7 l-50.2,90.7c-1.6,2.9-1.6,6.4,0,9.3c1.6,2.9,4.6,4.6,7.8,4.6h100.4c3.2,0,6.2-1.8,7.8-4.6c1.6-2.9,1.6-6.4,0-9.3l-50.2-90.7 C177.3,121.8,174.3,120,171.1,120L171.1,120z"/> <g> <path fill="#FFFFFF" d="M182.3,204.9c0,5.7-4.6,6.7-10.3,6.7h-9.4c-5.7,0-10.3-4-10.3-9.7v-10.7c0-5.7,4.6-9.8,10.3-9.8h9.4 c5.7,0,10.3,4.2,10.3,9.8V204.9z"/> <path fill="#FFFFFF" d="M158.5,191.3c0,1.7-1.4,0.6-3.1,0.6l0,0c-1.7,0-3.1,1.1-3.1-0.6v-20.4c0-1.7,1.4-3.1,3.1-3.1l0,0 c1.7,0,3.1,1.4,3.1,3.1V191.3z"/> <path fill="#FFFFFF" d="M166.4,186.4c0,1.7-1.4,3.1-3.1,3.1l0,0c-1.7,0-3.1-1.4-3.1-3.1v-20.4c0-1.7,1.4-3.1,3.1-3.1l0,0 c1.7,0,3.1,1.4,3.1,3.1V186.4z"/> <path fill="#FFFFFF" d="M174.4,181.5c0,1.7-1.4,3.1-3.1,3.1l0,0c-1.7,0-3.1-1.4-3.1-3.1V161c0-1.7,1.4-3.1,3.1-3.1l0,0 c1.7,0,3.1,1.4,3.1,3.1V181.5z"/> <path fill="#FFFFFF" d="M189.9,195c0,1.7-1.4,3.1-3.1,3.1l0,0c-1.7,0-3.1-1.4-3.1-3.1v-9.8c0-1.7,1.4-3.1,3.1-3.1l0,0 c1.7,0,3.1,1.4,3.1,3.1V195z"/> <path fill="#FFFFFF" d="M182.3,190.5c0,1.7-1.4,3.1-3.1,3.1l0,0c-1.7,0-3.1-1.4-3.1-3.1v-26.1c0-1.7,1.4-3.1,3.1-3.1l0,0 c1.7,0,3.1,1.4,3.1,3.1V190.5z"/> <path fill="#FFFFFF" d="M182.3,192.2c0,0,0.1,1,0.8,1c0.6,0,0.6-0.9,0.6-1.2s1.6,2.6,1.6,2.6s-3,4.3-3.3,4.2 C181.7,198.7,180,192.4,182.3,192.2z"/> <path fill="#FFFFFF" d="M178.8,197.7c0,0-3.5,13.7-0.3,13c2.1-0.4,5.8-3.5,8.3-6.8c3.3-4.4,3.1-9,3.1-9L178.8,197.7z"/> <path fill="#FFFFFF" d="M160.2,185.5v-4.6c0,0.5-0.4,0.9-0.9,0.9c-0.5,0-0.9-0.4-0.9-0.9v4.6H160.2z"/> <path fill="#FFFFFF" d="M168.2,185.1v-4.6c0,0.5-0.4,0.9-0.9,0.9c-0.5,0-0.9-0.4-0.9-0.9v4.6H168.2z"/> <path fill="#FFFFFF" d="M176.1,185.5v-4.6c0,0.5-0.4,0.9-0.9,0.9c-0.5,0-0.9-0.4-0.9-0.9v4.6H176.1z"/> </g> </g> <g> <g> <path fill="#FFFFFF" d="M140.7,247.4l2.1,10.7c0.2,0.8,0.3,1.4,0.4,1.7c0.1,0.3,0.2,0.6,0.3,0.8c0.1,0.2,0.3,0.3,0.5,0.4v2.9h-6.5 V261c0.4-0.1,0.6-0.4,0.6-0.9c0-0.2,0-0.4,0-0.5h-2.5c0,0,0,0.2-0.1,0.5c0.1,0.5,0.3,0.8,0.7,0.9v2.9h-5.7V261 c0.2-0.2,0.4-0.4,0.5-0.7c0.1-0.3,0.2-0.7,0.3-1.2l2.2-11.7H140.7z M137.6,256.4l-0.9-4.9l0,0l-0.8,4.9H137.6z"/> <path fill="#FFFFFF" d="M151.9,253.4l0-1.5c0-0.5-0.1-0.8-0.2-1s-0.4-0.3-0.7-0.3c-0.6,0-0.9,0.4-0.9,1.3v7.5c0,0.5,0.1,0.8,0.2,1 c0.2,0.2,0.4,0.3,0.7,0.3c0.4,0,0.6-0.1,0.7-0.3c0.1-0.2,0.2-0.5,0.2-0.9V257h5v5.5c-0.6,0.5-1.2,0.8-1.9,1.1 c-0.7,0.3-1.4,0.4-2,0.5c-0.7,0.1-1.3,0.2-1.9,0.2c-1.4,0-2.6-0.2-3.5-0.6c-0.9-0.4-1.6-0.9-2-1.7c-0.4-0.8-0.6-1.7-0.6-2.9v-7.2 c0-3.2,2-4.8,6-4.8c0.8,0,1.5,0.1,2.3,0.3c0.8,0.2,1.5,0.4,2.1,0.7c0.6,0.3,1.2,0.6,1.7,0.9v4.6H151.9z"/> <path fill="#FFFFFF" d="M165.4,253.4l0-1.5c0-0.5-0.1-0.8-0.2-1c-0.2-0.2-0.4-0.3-0.7-0.3c-0.6,0-0.9,0.4-0.9,1.3v7.5 c0,0.5,0.1,0.8,0.2,1c0.2,0.2,0.4,0.3,0.7,0.3c0.4,0,0.6-0.1,0.7-0.3c0.1-0.2,0.2-0.5,0.2-0.9V257h5v5.5c-0.6,0.5-1.2,0.8-1.9,1.1 c-0.7,0.3-1.4,0.4-2,0.5c-0.7,0.1-1.3,0.2-1.9,0.2c-1.4,0-2.6-0.2-3.5-0.6c-0.9-0.4-1.6-0.9-2-1.7c-0.4-0.8-0.6-1.7-0.6-2.9v-7.2 c0-3.2,2-4.8,6-4.8c0.8,0,1.5,0.1,2.3,0.3c0.8,0.2,1.5,0.4,2.1,0.7c0.6,0.3,1.2,0.6,1.7,0.9v4.6H165.4z"/> <path fill="#FFFFFF" d="M171.9,247.4h12.4v5.6h-4.7v-0.5c0-0.4,0-0.8-0.1-1c-0.1-0.2-0.3-0.4-0.5-0.4c-0.3-0.1-0.7-0.1-1.2-0.1v3 h3.2v3.2h-3.2v3.3c0.4,0,0.8,0,1-0.1c0.2,0,0.4-0.1,0.5-0.2c0.1-0.1,0.2-0.3,0.3-0.5c0.1-0.2,0.1-0.5,0.1-0.9v-0.8h4.7v6h-12.4 V261c0.2-0.1,0.4-0.3,0.5-0.6c0.1-0.2,0.1-0.5,0.1-0.9v-0.2v-7.7c0-0.3,0-0.6-0.1-0.8c-0.1-0.2-0.2-0.4-0.4-0.5V247.4z"/> <path fill="#FFFFFF" d="M185.5,258.1h5.1v0.7c0,0.1,0,0.2,0,0.3c0,0.5,0.1,0.9,0.2,1.2c0.1,0.3,0.4,0.4,0.8,0.4 c0.3,0,0.5-0.1,0.7-0.4c0.2-0.2,0.3-0.6,0.3-1c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2,0-0.3c-0.1-0.5-0.3-0.8-0.7-1 c-0.3-0.2-0.9-0.4-1.8-0.6c-0.9-0.2-1.6-0.5-2.3-0.7c-0.7-0.3-1.3-0.7-1.7-1.1c-0.4-0.5-0.6-0.9-0.7-1.4c-0.1-0.5-0.2-1.2-0.2-2 c0-3.3,1.9-4.9,5.8-4.9c2.3,0,4.4,0.6,6.3,1.7v3.9h-4.8v-0.6c0-0.9-0.3-1.4-0.9-1.5c-0.7,0-1.1,0.3-1.1,1c0,0.4,0.1,0.7,0.2,0.9 c0.2,0.2,0.5,0.4,1.2,0.6c0.1,0,0.5,0.1,1.1,0.3c0.6,0.2,1.1,0.3,1.5,0.5c0.4,0.1,0.7,0.3,1,0.4c0.5,0.3,0.9,0.5,1.3,0.9 c0.3,0.3,0.6,0.8,0.8,1.3c0.2,0.6,0.3,1.3,0.3,2.2c0,1.6-0.5,2.9-1.3,3.7c-0.5,0.6-1.3,1-2.2,1.3c-0.9,0.3-1.9,0.4-3.1,0.4 c-2.5-0.1-4.4-0.6-5.9-1.7V258.1z"/> <path fill="#FFFFFF" d="M199.5,258.1h5.1v0.7c0,0.1,0,0.2,0,0.3c0,0.5,0.1,0.9,0.2,1.2c0.1,0.3,0.4,0.4,0.8,0.4 c0.3,0,0.5-0.1,0.7-0.4c0.2-0.2,0.3-0.6,0.3-1c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2,0-0.3c-0.1-0.5-0.3-0.8-0.7-1 c-0.3-0.2-0.9-0.4-1.8-0.6c-0.9-0.2-1.6-0.5-2.3-0.7c-0.7-0.3-1.3-0.7-1.7-1.1c-0.4-0.5-0.6-0.9-0.7-1.4c-0.1-0.5-0.2-1.2-0.2-2 c0-3.3,1.9-4.9,5.8-4.9c2.3,0,4.4,0.6,6.3,1.7v3.9h-4.8v-0.6c0-0.9-0.3-1.4-0.9-1.5c-0.7,0-1.1,0.3-1.1,1c0,0.4,0.1,0.7,0.2,0.9 c0.2,0.2,0.5,0.4,1.2,0.6c0.1,0,0.5,0.1,1.1,0.3c0.6,0.2,1.1,0.3,1.5,0.5c0.4,0.1,0.7,0.3,1,0.4c0.5,0.3,0.9,0.5,1.3,0.9 c0.3,0.3,0.6,0.8,0.8,1.3c0.2,0.6,0.3,1.3,0.3,2.2c0,1.6-0.5,2.9-1.3,3.7c-0.5,0.6-1.3,1-2.2,1.3c-0.9,0.3-1.9,0.4-3.1,0.4 c-2.5-0.1-4.4-0.6-5.9-1.7V258.1z"/> </g> <g> <path fill="#FFFFFF" d="M130.5,269.3h8.2c1.2,0,2.2,0.2,3,0.5c0.8,0.4,1.4,0.9,1.8,1.6c0.4,0.7,0.6,1.6,0.6,2.7v7.8 c0,0.8-0.2,1.6-0.5,2.3c-0.3,0.7-0.9,1.3-1.7,1.8c-0.8,0.5-1.9,0.7-3.2,0.7h-8.2v-3.1c0.3-0.1,0.5-0.3,0.6-0.6 c0.1-0.2,0.1-0.6,0.1-1v-8.2c0-0.4,0-0.8-0.1-1c-0.1-0.2-0.3-0.4-0.6-0.5V269.3z M136.7,273.1v9.9h0.7c0.4,0,0.8-0.1,1-0.3 c0.2-0.2,0.3-0.6,0.3-1.3v-6.7c0-0.7-0.1-1.1-0.4-1.3c-0.2-0.2-0.6-0.3-1.1-0.3h0.1H136.7z"/> <path fill="#FFFFFF" d="M145.6,269.3h13.1v5.9h-5v-0.6c0-0.5,0-0.8-0.1-1c-0.1-0.2-0.3-0.4-0.6-0.5c-0.3-0.1-0.7-0.1-1.3-0.1v3.1 h3.4v3.4h-3.4v3.5c0.5,0,0.8,0,1-0.1c0.2,0,0.4-0.1,0.5-0.2c0.1-0.1,0.2-0.3,0.3-0.5c0.1-0.2,0.1-0.6,0.1-1v-0.8h5v6.3h-13.1v-3.1 c0.2-0.1,0.4-0.3,0.5-0.6c0.1-0.2,0.1-0.5,0.1-0.9V282v-8.2c0-0.4,0-0.6-0.1-0.8c-0.1-0.2-0.2-0.4-0.5-0.5V269.3z"/> <path fill="#FFFFFF" d="M160,269.3h5.9l3,7.9h0v-3.5c0-0.6-0.2-1-0.6-1.3v-3.1h5.6v3.1c-0.2,0.1-0.4,0.3-0.5,0.5 c-0.1,0.2-0.1,0.5-0.1,0.8v13.1h-5.3l-3.2-7.8h-0.1v3c0,0.5,0,0.9,0.1,1.1c0.1,0.2,0.2,0.4,0.5,0.6v3.1H160v-3.1 c0.2-0.1,0.4-0.3,0.5-0.4c0.1-0.1,0.1-0.4,0.1-0.9v-8.1v-0.5c0-0.3,0-0.6-0.1-0.8c-0.1-0.2-0.2-0.4-0.5-0.5V269.3z"/> <path fill="#FFFFFF" d="M175.7,269.3h6.6v3.1c-0.2,0.1-0.3,0.3-0.4,0.4c-0.1,0.1-0.1,0.3-0.1,0.4c0,0.2,0,0.5,0,0.9v7.8 c0,0.6,0,1,0.1,1.1c0.1,0.2,0.2,0.4,0.5,0.7v3.1h-6.6l0-3.1c0.2-0.2,0.4-0.3,0.5-0.5c0.1-0.2,0.1-0.5,0.1-0.8v-0.6v-7.6v-0.4 c0-0.6-0.2-1.1-0.6-1.3V269.3z"/> <path fill="#FFFFFF" d="M183.8,269.3h13.1v5.9h-5v-0.6c0-0.5,0-0.8-0.1-1c-0.1-0.2-0.3-0.4-0.6-0.5c-0.3-0.1-0.7-0.1-1.3-0.1v3.1 h3.4v3.4H190v3.5c0.5,0,0.8,0,1-0.1c0.2,0,0.4-0.1,0.5-0.2c0.1-0.1,0.2-0.3,0.3-0.5c0.1-0.2,0.1-0.6,0.1-1v-0.8h5v6.3h-13.1v-3.1 c0.2-0.1,0.4-0.3,0.5-0.6c0.1-0.2,0.1-0.5,0.1-0.9V282v-8.2c0-0.4,0-0.6-0.1-0.8c-0.1-0.2-0.2-0.4-0.5-0.5V269.3z"/> <path fill="#FFFFFF" d="M198.1,269.3h8.2c1.2,0,2.2,0.2,3,0.5c0.8,0.4,1.4,0.9,1.8,1.6c0.4,0.7,0.6,1.6,0.6,2.7v7.8 c0,0.8-0.2,1.6-0.5,2.3c-0.3,0.7-0.9,1.3-1.7,1.8c-0.8,0.5-1.9,0.7-3.2,0.7h-8.2v-3.1c0.3-0.1,0.5-0.3,0.6-0.6 c0.1-0.2,0.1-0.6,0.1-1v-8.2c0-0.4,0-0.8-0.1-1c-0.1-0.2-0.3-0.4-0.6-0.5V269.3z M204.2,273.1v9.9h0.7c0.4,0,0.8-0.1,1-0.3 c0.2-0.2,0.3-0.6,0.3-1.3v-6.7c0-0.7-0.1-1.1-0.4-1.3c-0.2-0.2-0.6-0.3-1.1-0.3h0.1H204.2z"/> </g> </g> </svg></body></html>

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *


The reCAPTCHA verification period has expired. Please reload the page.