Sharing koneksi internet di linux

Untuk artikel kali ini akan dibahas mengenai cara sharing koneksi internet di linux. Disini saya mempunyai kasus sebagai berikut:

Laptop saya terkoneksi internet melalui wireless menggunakan interface wlan0 dan laptop saya juga terkoneksi dengan Raspberry pi melalui kabel ethernet melalui interface eth0.  Dari sini saya ingin sharing koneksi dari interface wlan0 ke eth0

Enable IP Forwarding

Mengaktifkaan IP Forwarding berfungsi untuk meneruskan paket yang diterima pada suatu interface ke interface lain

echo 1 > /proc/sys/net/ipv4/ip_forward

Nilai akan kembali menjadi nol pada saat restart

Enable NAT

Untuk mengaktifkan NAT dapat menggunakan perintah seperti berikut

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Interface wlan0, merupakan interface yang terhubung ke internet

Setting IP

Berikut konfiguarsi IP address untuk interface eth0 pada laptop

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up

Berikut konfigurasi IP address untuk interface eth0 pada Raspberry

# konfigurasi pada file /etc/network/interfaces
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
network 192.168.1.0

Setelah konfigurasi IP address, raspberry sudah dapat akses internet. Selamat Mencoba

Catatan: Alamat IP yang digunakan pada interface wlan0 dan eth0 pada laptop merupakan segmen IP yang berbeda, karena laptop berfungsi sebagai router

Advertisement

Install ModSecurity Slackware 13.37

Download Modsecurity berserta crsnya di modsecurity.org versi modsecurity yang saya gunakan adalah 2.6.6 dan versi crs 2.5.5, untuk yang belum tahu dan mengenai penjelasan lebih lanjut mengenai modsecurity dapat dilihat di ezine rndc

Sebelum proses compile pastikan library libxml2, lua5.1 dan unique_id sudah terinstall dengan baik dan benar

bash-4.1# tar zxvf modsecurity-apache_2.6.6.tar.gz
bash-4.1# ./configure
bash-4.1# make
bash-4.1# make install

Konfigurasi core rule set(CRS)

bash-4.1# tar zxvf modsecurity-crs_2.2.5.tar.gz
bash-4.1# mv modsecurity-crs_2.2.5 crs
bash-4.1# cd crs
bash-4.1# mv modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf
bash-4.1# mv crs/ /etc/httpd/

Tambahkan baris berikut pada file /etc/httpd/crs/modsecurity_crs_10_setup.conf

# untuk menghidupkan engine crs
SecRuleEngine On

Tambahkan juga baris berikut pada file /etc/httpd/httpd.conf

# untuk meload library libxml2 dan liblua
LoadFile /usr/lib/libxml2.so
LoadFile /usr/lib/liblua.so.5.1

# untuk meload module modsecurity
LoadModule security2_module lib/httpd/modules/mod_security2.so

# untuk include core set rule pada modsecurity
<IfModule security2_module>
	Include /etc/httpd/crs/*.conf
	Include /etc/httpd/crs/base_rules/*.conf
</IfModule>

Jika tahap diatas sudah dilakukan langkah berikutnya adalah restart apachenya, untuk melihat log bisa menggunakan perintah berikut

bash-4.1# tail -f /var/log/httpd/error_log

Sekarang kita tinggal melakukan testing pada modsecurity

bash-4.1# cat /var/www/htdocs/insecure.php
<?php 
$secret_file = $_GET['secret_file']; 
include ($secret_file); 
?>
bash-4.1#

Berikut perbandingannya

Sebelum

bash-4.1# curl -i http://localhost/insecure.php?secret_file=/etc/passwd
HTTP/1.1 200 OK
...
root:x:0:0::/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/false
daemon:x:2:2:daemon:/sbin:/bin/false
adm:x:3:4:adm:/var/log:/bin/false
lp:x:4:7:lp:/var/spool/lpd:/bin/false
...

Sesudah

bash-4.1# curl -i http://localhost/insecure.php?secret_file=/etc/passwd
HTTP/1.1 403 Forbidden
Date: Sat, 07 Jul 2012 23:48:02 GMT
Server: Apache/2.2.17 (Unix) DAV/2 PHP/5.3.13
Content-Length: 214
Content-Type: text/html; charset=iso-8859-1
...
<h1>Forbidden</h1>
<pre>You don't have permission to access /insecure.php

...

good luck…

Install wvdial di Slackware 13.37

Minggu ini saya baru saja install slackware 13.17, karena baru pertamax pakai slackware masih agak binggung untuk proses installasi, harap maklum selama ini untuk installasi paket saya sudah dimanjakan menggunakan yum atau apt-get.

Wvdial membutuhkan library wvstreams agar dapat berfungsi dengan baik. Pertama yang dilakukan adalah install paket ini. apabila library ini sudah terpasang pada box Anda tahap ini bisa langsung dilewati

Download source, SlackBuild dan patch untuk wvstreams

bash-4.1# wget http://wvstreams.googlecode.com/files/wvstreams-4.6.1.tar.gz
bash-4.1# wget http://slackbuilds.org/slackbuilds/13.37/libraries/wvstreams.tar.gz
bash-4.1# wget http://slackbuilds.org/slackbuilds/13.37/libraries/wvstreams/wvstreams-4.6.1-glibc212.patch

Jika sudah didownload langkah selanjutnya adalah installasi

bash-4.1# tar zxvf wvstreams.tar.gz
bash-4.1# cp wvstreams-4.6.1.tar.gz wvstreams/
bash-4.1# cp wvstreams-4.6.1-glibc212.patch wvstreams/
bash-4.1# cd wvstreams/
bash-4.1# chmod +x wvstreams.SlackBuild
bash-4.1# ./wvstreams.SlackBuild
bash-4.1# installpkg /tmp/wvstreams-4.6.1-i486-1_SBo.tgz

Jika library wvstreams sudah terinstall saatnya installasi wvdial. Download source wvdial berserta SlackBuildsnya

bash-4.1# wget http://wvstreams.googlecode.com/files/wvdial-1.61.tar.gz
bash-4.1# wget http://slackbuilds.org/slackbuilds/13.37/network/wvdial.tar.gz

Selanjutnya saatnya melakukan extract dan compile

bash-4.1# tar zxvf wvdial.tar.gz
bash-4.1# cp wvdial-1.61.tar.gz wvdial/
bash-4.1# cd wvdial
bash-4.1# chmod +x wvdial.SlackBuild
bash-4.1# ./wvdial.SlackBuild
bash-4.1# installpkg wvdial-1.61-i486-1_SBo.tgz

Apabila tidak ada error maka proses installasi telah berhasil. Ketik wvdialconf untuk pendekteksian modem dan mengenerate file /etc/wvdial.conf dan edit file /etc/wvdial.conf sesuai dengan konfiguasi provider yang digunakan dan masukkan settingan dns pada /etc/resolf.conf.

Good luck…