VPN Server – Poptop FreeBSD

Buat vpn server di freebsd dengan menggunakan poptop. Simple kok caranya, tinggal liat ajah di website http://www.linux-bsd-central.com/index.php/content/view/8/.

    Ato lihat ajah di sini dah:

  • Install poptop
    # pkg_add -r poptop
  • Buat file dengan isi berikut
    # ee /usr/local/etc/pptpd.conf

    debug
    nobsdcomp
    proxyarp
    localip 172.16.0.4
    remoteip 172.16.0.150-155
    pidfile /var/run/pptpd.pid
    +chapms-v2
    mppe-40
    mppe-128
    mppe-stateless

    # ee /etc/ppp/ppp.conf

    loop:
    set timeout 0
    set log phase chat connect lcp ipcp command
    set device localhost:pptp
    set dial
    set login
    # Server (local) IP address, Range for Clients, and Netmask
    # if you want to use NAT use private IP addresses
    set ifaddr 172.16.0.4 172.16.0.150-172.16.0.155 255.255.0.0
    add default HISADDR
    set server /tmp/loop “” 0177

    loop-in:
    set timeout 0
    set log phase lcp ipcp command
    allow mode direct

    pptp:
    load loop
    disable pap
    # Authenticate against /etc/passwd
    enable passwdauth
    disable ipv6cp
    enable proxy
    accept dns
    enable MSChapV2
    enable mppe
    disable deflate pred1
    deny deflate pred1
    set dns 24.26.163.24
    set device !/etc/ppp/secure

    # ee /etc/ppp/secure

    #!/bin/sh
    exec /usr/sbin/ppp -direct loop-in

    # ee /etc/ppp/ppp.secret

    #user #password #host
    user1 password *
    user2 password *

  • Pastikan bahwa ip forward kebuka
    # sysctl net.inet.ip.forwarding=1
    atau apabila ingin diset default ketika startup
    # ee /etc/rc.conf

    gateway_enable=”YES”

  • Aktifkan proxy arp
    # sysctl net.link.ether.inet.proxyall=1
    atau apabila ingin diset default ketika startup
    # ee /etc/rc.conf

    arpproxy_all=”YES”

  • Lalu jalankan daemonnya
    # /usr/local/etc/rc.d/pptpd start

Tambahan:
Buat file /etc/ppp/ppp.linkdown agar dapat menghapus interface ketika disconnect.
# ee /etc/ppp/ppp.linkdown

pptp:
delete! HISADDR
iface clear

Udah deh …

Ref : http://www.linux-bsd-central.com/index.php/content/view/8/

linux-poptop

FreeRadius dan daloRADIUS

Ternyata ada web manager untuk freeradiusnya. Untuk download aplikasinya silahkan akses ke http://daloradius.xdsl.by/. Untuk installasinya simple kok.. tinggal baca tutor di http://daloradius.wiki.sourceforge.net/space/showimage/daloRADIUS+Users+Manual.pdf dan pastikan bahwa package php-db sudah terinstall di Ubuntu 8.10 nya …

Coba di install deh …

daloradius_small

Mikrotik Hotspot with FreeRadius + MySQL

Sehubungan dengan bertambah ribetnya kebutuhan Mikrotik Hotspot, maka mulai ubek2 untuk bisa koneksi Mikrotik Hotspot dengan FreeRadius dan MySQL. Disini menggunakan Mikrotik v.3.x + fasilitas Hotspot dan Radius Client, FreeRadius 2, MySQL Server 5 dan Ubuntu 8.10

Sebelumnya siapkan Mikrotik dengan Hotspotnya, dapat mengikuti cara di https://hanadi.wordpress.com/2008/06/27/mikrotik-hotspot-login-with-https/. Setelah itu, tinggal mengaktifkan koneksi Hotspot Login ke Radius dan Radius Clientnya.

    Cara yang dipakai yaitu sebagai berikut

  1. Ubah koneksi Hotspot Login ke Radius, jalankan perintah “/ip hotspot profile set hsprof1 use-radius=yes
  2. Tambahkan Radius Client pada Mikrotik, jalankan perintah “/radius add secret=secretradius123 address=192.168.1.10 service
    =hotspot

    Keterangan :
    Secret adalah kode rahasia untuk koneksi ke server radius
    Address adalah alamat dari server radius

  3. Allow ip address server radius agar tidak terkena authentikasi hotspot, jalankan perintah “/ip hotspot ip-binding add address=192.168.1.10 type=bypassed

Lalu, siapkan server radiusnya. Dapat mengikuti cara https://hanadi.wordpress.com/2009/03/25/ubuntu-freeradius-mysql/. Setelah itu tinggal menambahkan nas dan user hotspotnya.

    Caranya sebagai berikut

  1. Tambahkan radius client pada table nas

    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 715
    Server version: 5.0.67-0ubuntu6 (Ubuntu)

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

    mysql> use radius;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A

    Database changed
    mysql> INSERT INTO `nas` (`nasname`, `shortname`, `type`, `ports`, `secret`, `community`, `description`) VALUES (‘192.168.1.1’, ‘MikrotikNET’, ‘other’, 1812, ‘secretradius123’, ‘MikrotikCommunity’, ‘RADIUS Client’);
    Query OK, 1 row affected (0.00 sec)

    mysql> exit
    Bye

  2. Tambahkan user hotspotnya

    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 715
    Server version: 5.0.67-0ubuntu6 (Ubuntu)

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

    mysql> use radius;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A

    Database changed
    mysql> INSERT INTO `radcheck` (`username`, `attribute`, `op`, `value`) VALUES (‘userhotspot1’, ‘Password’, ‘:=’, ‘password1’),
    Query OK, 1 row affected (0.00 sec)

    mysql> INSERT INTO `radcheck` (`username`, `attribute`, `op`, `value`) VALUES (‘userhotspot2’, ‘Password’, ‘:=’, ‘password2’),
    Query OK, 1 row affected (0.00 sec)

    mysql> exit
    Bye

  3. Restart server freeradiusnya, agar dapar membaca table nas
    # /etc/init.d/freeradius restart
  4. Pada saat dicoba, terkadang terdapat error pada log file /var/log/freeradius/radius.log yang errornya “Error: rlm_radutmp: Error accessing file /var/log/freeradius/radutmp: No such file or directory”. Solusinya adalah
    # touch /var/log/freeradius/radutmp
    # chown freerad:freerad /var/log/freeradius/radutmp
    # chmod +r /var/log/freeradius/radutmp

Klo gituh selesai deh koneksi dari mikrotik ke freeradiusnya. Untuk pengertian tiap table pada database radius, dapat membaca website http://wiki.freeradius.org/Rlm_sql. Dan attribut yang digunakan pada database radius untuk mikrotik dapat dilihat pada website http://www.mikrotik.com/testdocs/ros/2.9/guide/aaa_radius.php. Met nyoba deh …

Makasih buat pak haries fajar nugroho untuk ilmunya.
Btw .. klo ada yang punya user manager untuk database radius .. nda nolak kok 😀

Ref :
http://infodotnet.blogspot.com/2007/11/part-1-mikrotik-hotspot-freeradius.html
http://www.kotainternet.com/setting-billing-hotspot-integrasi-router-mikrotik.html
http://www.mikrotik.com/testdocs/ros/2.9/guide/aaa_radius.php
http://wiki.freeradius.org/Rlm_sql

sitelogo

Ditulis dalam Tutorial. 12 Comments »

Ubuntu + FreeRadius + MySQL

Membuat radius server untuk kebutuhan mikrotik hotspot. Pada tutor ini, menggunakan Ubuntu 8.10 dengan package FreeRadius dan MySQL Server yang di dapat dari repository. Selain itu juga akan dilengkapi dengan Apache 2, PHP 5 dan PHPMyAdmin.

    Asumsi bahwa OS Ubuntu 8.10 sudah terinstall dan terkoneksi dengan jaringan internet. Selanjutnya adalah installasi semua package yang dibutuhkan.

  • Install semua package melalui repository dan isi konfigurasi yang diminta

    # apt-get install apache2 php5-common php5-gd php-pear php-db libapache2-mod-php5 php5-mysql php5-mcrypt phpmyadmin mysql-server-5.0 mysql-client-5.0 freeradius freeradius-mysql

  • Untuk konfigurasi apache2, php5 dan mysql-server-5 dan phpmyadmin dapat dicari diinternet.
    Selanjutnya adalah konfigurasi untuk freeradius

  • Buat database radius pada mysql-server dan usernya

    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 693
    Server version: 5.0.67-0ubuntu6 (Ubuntu)

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

    mysql> create database radius;
    Query OK, 1 row affected (0.00 sec)

    mysql> grant all on radius.* to radius@localhost identified by “passwordradius”;
    Query OK, 0 rows affected (0.00 sec)

    mysql> exit
    Bye

  • Sehubungan menggunakan freeradius 2.x, maka konfigurasi agak berbeda dengan freeradius 1.x. Lalu import table yang berada pada file /etc/freeradius/sql/mysql/schema.sql ke database radius

    # mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
    Enter password:

  • Buat table agar konfigurasi nas dapat ditambahkan pada database. Pengertian NAS dapat dilihat pada website http://wiki.freeradius.org/NAS

    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 693
    Server version: 5.0.67-0ubuntu6 (Ubuntu)

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

    mysql> use radius;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A

    Database changed
    mysql> CREATE TABLE nas (id int(10) NOT NULL auto_increment, nasname varchar(128) NOT NULL, shortname varchar(32), type varchar(30) DEFAULT ‘other’, ports int(5), secret varchar(60) DEFAULT ‘secret’ NOT NULL, community varchar(50), description varchar(200) DEFAULT ‘RADIUS Client’, PRIMARY KEY (id), KEY nasname (nasname));
    Query OK, 0 rows affected (0.01 sec)

    mysql> exit
    Bye

  • Konfigurasikan /etc/freeradius/sql.conf agar dapat disesuaikan dengan perubahan yang sudah dilakukan
    # pico /etc/freeradius/sql.conf

    Pada connection info
    # Connection info:
    server = “localhost”
    login = “radius”
    password = “passwordradius”

    Uncomment pada readclients agar NAS dapat dibaca melalui database.
    readclients = yes

  • Selanjutnya mengubah file /etc/freeradius/sites-enabled/default
    # pico /etc/freeradius/sites-enabled/default

    Uncomment sql pada bagian authorize{}
    # See “Authorization Queries” in sql.conf
    sql

    Uncomment sql pada bagian accounting{}
    # See “Accounting queries” in sql.conf
    sql

    Uncomment sql pada bagian session{}
    # See “Simultaneous Use Checking Queries” in sql.conf
    sql

    Uncomment sql pada bagian post-auth{}
    # See “Authentication Logging Queries” in sql.conf
    sql

  • Tambahkan user untuk mengetest bahwa server radius sudah berjalan dengan baik

    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 693
    Server version: 5.0.67-0ubuntu6 (Ubuntu)

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

    mysql> use radius;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A

    Database changed
    mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES (‘sqltest’, ‘Password’, ‘testpwd’);
    Query OK, 1 row affected (0.00 sec)

    mysql> exit
    Bye

  • Pastikan bahwa konfigurasi radiusd.conf dalam keadaan benar, karena pada saat dicoba, terjadi masalah pada pid radiusnya
    # pico /etc/freeradius/radiusd.conf

    Ubah run_dir ke path berikut
    run_dir = ${localstatedir}/run/freeradius

    Ubah pidfile ke nama file berikut
    pidfile = ${run_dir}/freeradius.pid

  • Jalankan server radius. Apabila ingin menggunakan mode debug, maka dapat menggunakan perintah freeradius -X
    # /etc/init.d/freeradius start

    Apabila muncul tulisan “/etc/freeradius/sites-enabled/default[152]: Failed to find module “sql”.”, maka bisa meng uncomment #$INCLUDE sql.conf pada file /etc/freeradius/radiusd.conf

  • Jalankan test pada server radius localhost
    # radtest sqltest testpwd localhost 1812 testing123
    Sending Access-Request of id 9 to 127.0.0.1 port 1812
    User-Name = “sqltest”
    User-Password = “testpwd”
    NAS-IP-Address = 192.168.1.10
    NAS-Port = 1812
    rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=9, length=20

    Apabila tampilan seperti diatas, berarti client dapat terkoneksi dengan server radius. Apabila terdapat error, maka solusinya cari diinternet 😀
    -Tambahan-
    Jika errornya adalah “radclient: socket: cannot initialize udpfromto: Function not implemented”, maka bisa menggunakan ip address ketimbang menggunakan localhost. Contoh : radtest sqltest testpwd 127.0.0.1 1812 testing123
    Jadi sebenarnya hanya masalah di /etc/hosts untuk IPv6 saja. Intinya service sudah jalan.

  • Hapus user test yang sudah dibuat sebelumnya
    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 699
    Server version: 5.0.67-0ubuntu6 (Ubuntu)

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

    mysql> use radius;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A

    Database changed
    mysql> delete from radcheck where UserName=’sqltest’;
    Query OK, 1 row affected (0.00 sec)

    mysql> exit
    Bye

Selesai deh koneksi dari freeradius ke mysql … Ayo erwan ayooo … 😛

Ref :
http://www.8021xhelp.com/node/6
http://solo.foss-id.web.id/2008/09/instalasi-freeradius-pada-ubuntu-server-804/
http://forum.rtrw.net/viewtopic.php?f=4&t=5784
http://www.howtoforge.com/forums/showthread.php?t=33503

freeradius

Ditulis dalam Tutorial. 34 Comments »

FTP-Proxy FreeBSD

Sehubungan kebutuhan untuk ftp proxy, maka diputuskan untuk install FTP-Proxy. Ternyata simple-simple ribet. Caranya:

  • Install FTP-Proxy
    # pkg_add -r ftp-proxy
  • Konfigurasikan PF nya
    # ee /etc/pf.conf
    Pada bagian NAT nya ditambahkan isi berikut.
    Jangan lupa untuk mengubah $int_if dengan nama interface internalnya.

    ## ftp-proxy nat
    nat-anchor “ftp-proxy/*”
    rdr-anchor “ftp-proxy/*”
    rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021

    Pada bagian Rules nya ditambahkan

    ## ftp-proxy rules
    anchor “ftp-proxy/*”

    Jangan lupa untuk di reload pf nya.
    # pfctl -f /etc/pf.conf

  • Setelah itu jalankan aplikasinya
    # ftp-proxy -r
  • Cek apakah port ftp-proxynya sudah kebuka
    # nmap localhost
    Apabila terdapat tampilan berikut, maka ftp-proxy sudah jalan

    8021/tcp open ftp-proxy

Ditulis dalam Tutorial. 1 Comment »

Install SARG pada Ubuntu

Sarg – Squid Analysis Report Generator is a tool that allow you to view “where” your users are going to on the Internet.
Sarg provides many informations about Squid users activities: times, bytes, sites, etc…

Nah… gituh dah kira-kira pengertian dari SARG, untuk proses installasi nya langsung dicoba ajah. Btw, asumsi squid 2.7 udah keinstall di PC.

    Proses installasi :

  • Install SARG
    # apt-get install sarg

    Setelah proses installasi, sebenarnya sarg akan dieksekusi secara otomatis menggunakan cron. Untuk melihatnya dapat dilihat pada folder berikut :
    # ls /etc/cron.daily/
    # ls /etc/cron.weekly/
    # ls /etc/cron.monthly/

  • Konfigurasi SARG, edit sesuai dengan kebutuhan
    # pico /etc/squid/sarg.conf
    # pico /etc/squid/sarg-reports.conf
  • Untuk menjalankan sarg pada tanggal sekarang, maka gunakan perintah berikut
    # sarg-reports today

    Untuk melihat hasil reportnya, dapat diakses melalui browser ke alamat IP Address PC tersebut. Cth: http://127.0.0.1/squid-reports/

Ref : http://sarg.sourceforge.net/sarg.php

sarg

Ditulis dalam Tutorial. 2 Comments »

Squid dengan multiple outgoing interface

Sekedar tips ajah. Klo misalkan squidnya punya banyak interface dan ingin mengalokasikan outgoingnya ke ip tertentu, maka gunakan option tcp_outgoing_address dan jangan lupa baca keterangannya yakz.

# TAG: tcp_outgoing_address
# Allows you to map requests to different outgoing IP addresses
# based on the username or source address of the user making
# the request.
#
# tcp_outgoing_address ipaddr [[!]aclname] …
#
# Example where requests from 10.0.0.0/24 will be forwarded
# with source address 10.1.0.1, 10.0.2.0/24 forwarded with
# source address 10.1.0.2 and the rest will be forwarded with
# source address 10.1.0.3.
#
# acl normal_service_net src 10.0.0.0/24
# acl good_service_net src 10.0.1.0/24 10.0.2.0/24
# tcp_outgoing_address 10.1.0.1 normal_service_net
# tcp_outgoing_address 10.1.0.2 good_service_net
# tcp_outgoing_address 10.1.0.3
#
# Processing proceeds in the order specified, and stops at first fully
# matching line.
#
# Note: The use of this directive using client dependent ACLs is
# incompatible with the use of server side persistent connections. To
# ensure correct results it is best to set server_persistent_connections
# to off when using this directive in such configurations.

Ref : http://www.usenet-forums.com/squid-users/240265-re-squid-users-squid-pintables-forward-out-another-interface.html

squid

Ditulis dalam Tutorial. 2 Comments »