Langkau ke kandungan utama

Asas install Radius pada Centos


Ilmu tak baik simpan sorang-sorang, he heh.Ok, saya dah bersemangat nak buat tutorial, dan mungkin akan capture pakai video post terus ke Youtube. Tapi kena sediakan bahan-bahannya.

1 unit intel PC beserta 2 network card
2 unit linksys AP WRT54GL
Complete CD Linux Centos 4.6final ( download kat centos.org )..ada 4 keping
8 port hub / switch
Sambungan ke internet

Perjalanan Tutorial
--------------------------
Jika berjaya surf ke internet, saya akan teruskan dengan install Apache Web Server
Diteruskan dengan install PHP Scripting language
Dan kemudian, kita akan install MySQL Database
Jika server radius dah berjaya setup, kita teruskan ke setup Coova Chilli ( sangat sangat penting ), Coova Chilli nih lah yg jadi polis check user radius dan supply Captive Portal.
Kita akan setup Coova AP cakap dengan Radius
Akhir sekali, install MamakSpot PHP Script, script nih yang akan control user Wifi

Lepas tuh anda boleh start HotSpot sendiri.













Kena pastikan anda mempunyai hardware berikut

1. Intel Pentium PC
2. Minima 128MB RAM
3. 2 Network Card
4. 4 keping CD kosong
5. Laptop Windows XP dengan burn cd capability
6. 2 CAT5e Straight cable ( network card )
7. Linksys WRT54GL AP

Download Linux Centos 4.6 ISO
URL : http://mirror.nsc.liu.se/CentOS/4.6/isos/i386/
Download 4 iso di atas dan burn ke dalam 4 keping CD
Saya gunakan ISO Recorder : http://isorecorder.alexfeinman.com/isorecorder.htm

Pengetahuan menggunakan Linux amat penting untuk menggunakan MamakSpot, jadi saya assume anda mempunyai pengalaman lampau install dan gunakan linux. Jika anda tidak mempunyai asas dalam Linux, sila rujuk How To dan tutorial dari Google.


Install Linux Centos dengan setting berikut
- no firewall
- server mode ( minimal configuration)
- gcc,make ,compiler kena ada

Saya assume anda berjaya install Centos 4.6 Final edition, dan di bawah adalah setting-setting yang saya guna.

Lepas install, matikan firewall, laksanakan command berikut

/sbin/service iptables stop

[root@hotspot ~]# yum install gcc
[root@hotspot ~]# yum install make
[root@hotspot ~]# yum install compiler


Setting untuk model Streamyx
IP-address : 192.168.1.1
Subnet : 255.255.255.0
DNS : 202.188.1.5
DNS 2 : 202.188.0.133
Mode : auto dial,auto auth
Maksudnya, kita akan set username dan password terus dalam Modem Streamyx, jadi user yang point ke gateway 192.168.1.1 akan terus dapat sambungan ke internet

Setting untuk network card 1
Nama : ETH0
IP-Address : 192.168.1.2
Subnet Mask : 255.255.255.0
Gateway Address : 192.168.1.1
Cable : Sambung terus ke ethernet port Router Modem Streamyx
# edit file : vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Setting untuk network card 1
DEVICE=eth0
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.1.2
GATEWAY=192.168.1.1
TYPE=Ethernet
Ok, kita telah edit configuration untuk Network Card 1. Mari kita suba sambungan ke internet. Laksanakan command berikut :

/sbin/service network restart

Kemudian kita akan cuba sambungan ke internet dengan ping ke google.com

ping google.com

Sepatutnya anda akan dapat result seperti berikut :

[root@localhost html]# ping google.com
PING google.com (64.233.167.99) 56(84) bytes of data.
64 bytes from py-in-f99.google.com (64.233.167.99): icmp_seq=1 ttl=238 time=322 ms
64 bytes from py-in-f99.google.com (64.233.167.99): icmp_seq=2 ttl=238 time=275 ms
64 bytes from py-in-f99.google.com (64.233.167.99): icmp_seq=3 ttl=238 time=273 ms
64 bytes from py-in-f99.google.com (64.233.167.99): icmp_seq=4 ttl=238 time=278 ms
64 bytes from py-in-f99.google.com (64.233.167.99): icmp_seq=5 ttl=238 time=273 ms

--- google.com ping statistics ---
6 packets transmitted, 5 received, 16% packet loss, time 4997ms
rtt min/avg/max/mdev = 273.613/284.723/322.454/18.936 ms
[root@localhost html]#

Jika anda berjaya hingga ke tahap ini, anda berjaya connect Linux Box anda ke internet menggunakan laluan ETH0. Seterusnya kita akan setup Network Card 2 dengan menggunakan setting berikut:

Setting untuk network card 2
Nama : ETH1
IP-Address : 10.0.0.1
Subnet Mask : 255.255.255.0
Gateway Address : 192.168.1.2
Cable : Sambung terus ke ethernet port Linksys WRt54 GL
# edit file : vi /etc/sysconfig/network-scripts/ifcfg-eth1
# Setting untuk network card 2
DEVICE=eth1
BOOTPROTO=static
BROADCAST=10.0.0.255
HWADDR=00:0C:76:6B:0B:E0
IPADDR=10.0.0.1
NETMASK=255.255.255.0
NETWORK=10.0.0.0
ONBOOT=yes
TYPE=Ethernet

Restart semula service network menggunakan command /sbin/service dan kemudian laksanakan command berikut

/sbin/ifconfig -a

Command di atas berfungsi untuk melihat network card yang telah diconfigure dalam sistem. Sepatutnya anda akan melihat data mengenai ETH0 dan dan ETH1.

-bash-3.00$ /sbin/ifconfig -a
eth0      Link encap:Ethernet  HWaddr xxxxxxxxxxxx
     inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
     inet6 addr: fe80::206:5bff:feed:62c6/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:401058151 errors:0 dropped:0 overruns:0 frame:0
     TX packets:497301783 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:100
     RX bytes:2828013415 (2.6 GiB)  TX bytes:2305496074 (2.1 GiB)
     Base address:0xcce0 Memory:feb60000-feb80000

eth1      Link encap:Ethernet  HWaddr xxxxxxxxxxxx
     inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
     inet6 addr: fe80::206:5bff:feed:62c6/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:401058151 errors:0 dropped:0 overruns:0 frame:0
     TX packets:497301783 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:100
     RX bytes:2828013415 (2.6 GiB)  TX bytes:2305496074 (2.1 GiB)
     Base address:0xcce0 Memory:feb60000-feb80000

* peringatan, data di atas cuma contoh sahaja, dan bukan gambaran yang anda lihat di konsol Linux anda *

Seterusnya, sambung cable CAT 5 ( straight cable ), dari ETh1 ke ethernet port ( bukan WAN port ) AP Linksys WRT 54GL. Kemudian, sambung pula Laptop anda CAT5 cable ke ethernet port no 2 di LinksysAP yang sama.

Configure Laptop anda menggunakan setting berikut:

Setting untuk Laptop
IP-Address : 10.0.0.2
Subnet-mask : 255.255.255.0
GatewayAddress: 10.0.0.1 ( poin ke ETH1 ip address )
DNS: 202.188.1.5

Kemudian, ping ke IP 10.0.0.1

Pastikan anda dapat ping reply dari 10.0.0.1, dan kemudian baru teruskan ke bab seterusnya.

Jika anda berjaya dapat ping reply, itu sudah mencukupi untuk ke tahap ini. Sepatutnya anda tidak boleh surf ke internet . Ini disebabkan Linux anda masih belum diconfigure untuk menjadi router.

bab seterusnya kita akan configure Linux anda sebagai router menggunakan IPTABLES.



Pastikan anda berjaya mengikut Tutorial 1 dengan jayanya. Seterusnya, saya akan ajar bagaimana untuk menjadikan Linux anda sebagai router. Ini bermakna, Laptop anda yang connect menerusi HUB ( Linksys AP ethernet port ) --> port ETH1, dapat melayari ke internet

Laptop anda = 10.0.0.2 ( gatewaye 10.0.0.1 iaitu ETH1 )
ETH1 = 10.0.0.1

perkara pertama, kita perlu enablekan ip forwarding di dalam Linux. edit fail /etc/systcl.conf dan ubah mengikut konfigurasi di bawah.

[root@hotspot ~]# vi /etc/sysctl.conf

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
# ubah jadi 1 ( default =0 )
net.ipv4.ip_forward = 1

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1


Kemudian, create satu script bernama route.sh dan masukkan data berikut :
route.sh

# firewall.sh
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth1 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward


Kemudian laksanakan arahan berikut

sh route.sh

[root@hotspot ~]# service network restart

kemudian cuba ping google.com melalui Laptop anda. sepatutnya anda boleh ping ke Google.com


Okay, sudah sampai ke tahap nak install Free Radius. Sila download source code di URL di bawah :

http://freeradius.org/download.html

Download version 2.0.3 dan baca installation procedure. RTFM!. Saya galakkan compile dari source dari install guna RPM.

Download Free Radius

-bash-3.1$ wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.0.3.                                                                             tar.gz
--08:33:54--  ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.0.3.ta                                                                             r.gz
           => `freeradius-server-2.0.3.tar.gz'
Resolving ftp.freeradius.org... 66.135.41.84
Connecting to ftp.freeradius.org|66.135.41.84|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD /pub/freeradius ... done.
==> SIZE freeradius-server-2.0.3.tar.gz ... 3488944
==> PASV ... done.    ==> RETR freeradius-server-2.0.3.tar.gz ... done.
Length: 3488944 (3.3M)

100%[====================================================================================================================>] 3,488,944    134K/s   in 27s

08:34:25 (126 KB/s) - `freeradius-server-2.0.3.tar.gz' saved [3488944]


Untar Free Radius
-bash-3.1$ tar zxvf freeradius-server-2.0.3.tar.gz

Configure Free Radius

-bash-3.1$ pwd
/var/www/html/freeradius-server-2.0.3
-bash-3.1$ ./configure
.
.
.
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h


Make Free Radius ( kalau tiada error )

-bash-3.1$ make


Kemudian kita install Free Radius

-bash-3.1$ make install


Kalau berjaya akan dapat mesej berikut

----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
[root@localhost freeradius-server-2.0.3]#


Dan binary berikut adalah yang berasal dari freeradius

[root@localhost freeradius-server-2.0.3]# rad
radclient     radlast       radtest       radzap
radeapclient  radsqlrelay   radwho
[root@localhost freeradius-server-2.0.3]# rad


Nak uninstall Free Radius ? Malangnya, dalam Free Radius tidak diberikan sekali command make uninstall . Tapi boleh guna teknik di bawah :

You can use checkinstall to uninstall FreeRADIUS.

http://www.asic-linux.com.mx/~izto/checkinstall/

What you do is use checkinstall to install FreeRADIUS a second time from freeradius-server-2.0.2.tar.gz. You use the commands:

./configure
make
checkinstall

checkinstall will create a deb or rpm package for you. You then install the deb or rpm package and then uninstall it.


Ok. Skrg dah berjaya install Free Radius. Cuba local di mana radiusd ( Radius Daemon ) disimpan dan kita akan run untuk pertama kali

[root@localhost freeradius-server-2.0.3]# whereis radiusd
radiusd: /usr/local/sbin/radiusd


Runkan radius daemon dengan option -X ( so kita nampak apa yang sedang berlaku )

[root@localhost freeradius-server-2.0.3]# /usr/local/sbin/radiusd -X
.
.
.
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on proxy address * port 1814
Ready to process requests.

Berdasarkan maklumat di atas freeradius akan menggunakan 3 port iaitu 1812,1813 dan 1814.

Kita akan buat ujian Radtest untuk menguji server tersebut.Perlu diingatkan, fail configuration radius semuanya terletak di folder berikut
/usr/local/etc/raddb/

CD ke folder tersebut dan edit fail users

[root@localhost raddb]# vi /usr/local/etc/raddb/users


Dan letak configurasi berikut di bahagian paling bawah

# mamakspot user radtest demonstration
mankuk  Cleartext-Password := "hayun"


Save fail tersebut dan laksanakan arahan berikut: ( kill radiusd dan run kembali dahulu )

radtest mankuk hayun 127.0.0.1 1812 testing123

Sila lihat gambar di bawah untuk hasil command tersebut.
[radius-sucess.JPG]

Cuba lihat mesej radiusd -X yang mengatakan

auth: type "PAP"
+- entering group PAP
rlm_pap: login attempt with password "hayun"
rlm_pap: Using clear text password "hayun"
rlm_pap: User authenticated successfully
++[pap] returns ok
Login OK: [mankuk/hayun] (from client localhost port 1812)

Bermaksud anda memasukkan username dan password yang betul dan dapat reply status Login OK. Cuba masukkan username dengan password yang salah

auth: type "PAP"
+- entering group PAP
rlm_pap: login attempt with password "xhayun"
rlm_pap: Using clear text password "hayun"
rlm_pap: Passwords don't match
++[pap] returns reject
auth: Failed to validate the user.
Login incorrect (rlm_pap: CLEAR TEXT password check failed): [mankuk/xhayun] (from client localhost port 1812)
  Found Post-Auth-Type Reject
+- entering group REJECT
        expand: %{User-Name} -> mankuk
 attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] returns updated

Anda akan direject.Dan sistem tidak akan authenticate anda.

Untuk mengubah nas secret "testing123", ubah fail clients.conf dan cari entry untuk 127.0.0.1
[nas-secret.JPG]

Jika anda telah berjaya ke tahap ini, itu sudah memadai. Tutorial seterusnya ialah kita akan ubah configuration radius server untuk menggunakan database MySQL sebagai storage. Buat masa ini anda boleh surf Google untuk maklumat menggunakan Free Radius

Catatan popular daripada blog ini

Setting APACHE Tomcat Dengan Configure mod_jk Connector pada RHEL6.4 cara ringkas.

 Asas - Apakah mod_jk?   Penyambung mod_jk ialah modul Apache httpd yang membolehkan httpd untuk berkomunikasi dengan Apache Tomcat  bagi  seluruh  keadaan  protokol AJP. Modul ini digunakan bersama- s ama dengan komponen Penyambung AJP Tomcat ini.  Mengenai Penyambung   Apache Tomcat menggunakan komponen Penyambung untuk membolehkan komunikasi antara contoh nya  Tomcat dan pihak lain, seperti pelayar, pelayan atau contoh lain Tomcat yang merupakan sebahagian daripada rangkaian yang sama. Sebagai contoh, penyambung HTTP mendengar untuk permintaan lebih protokol HTTP/1.1 pada pelbagai port TCP...

Cara setting router Cisco 2600 & MRTG

Manual setting router Cisco 2600 Masuk ke dalam router menggunakan konsol atau telnet. Masukkan password dan taip enable. Router> enable Tekan enter taip enable. 2600# config Configuring from terminal, memory, or network [terminal]? t Enter configuration commands, one per line.  End with CNTL/Z. Taip t dan taip hostname yang baru. Router(config)# hostname JL Tekan enter dan taip interface serial 0/0. JL(config)# interface serial 0/0 Tekan enter dan taip ip address serial 0/0. JL (config-if) ip address 58.26.##.### 255.255.255.252 Tekan enter dan taip setting untuk encapsulation. JL (config-if) encapsulation ppp Tekan enter dan taip no shutdown. JL (config-if) no shutdown Tekan enter dan tekan ctrl + z. Kemudian taip  show interface serial 0/0 untuk melihat maklumat interface serial 0/0  . JL # show interface serial 0/0 Tekan enter dan taip config semula. JL # config    ...

GlusterFS & cara penggunaan

Apa itu GlusterFS? GlusterFS ialah sistem fail storan yang dilampirkan berskala. Ia aplikasi yang dijumpai di pengkomputeran awan, perkhidmatan media streaming dan penghantaran kandungan rangkaian . GlusterFS telah dibangunkan semula oleh Gluster, Inc. dan kemudian oleh Red Hat, Inc. Hasilnya Red Hat memperoleh Gluster pada tahun 2011. Pada Jun 2012, Red Hat Storage Server diumumkan sebagai penyepaduan komersil antara GlusterFS dengan Red Hat Enterprise Linux. Red Hat membeli  Inktank Storage  pada bulan April 2014, yang merupakan syarikat di sebalik sistem teragih (Ceph), dan menjenamakan semula Red Hat Storage Server berasaskan GlusterFS kepada "Red Hat Gluster Storage". GlusterFS mengagregat pengiraan, penyimpanan, dan sumber I/O ke dalam ruang nama global.Setiap pelayan ditambah storan komoditi sama ada (storan berhubung langsung, JBOD atau menggunakan storan SAN) dianggap sebagai nod. Kapasiti diperkecil dengan menambahkan nod tambahan atau menambahkan storan ...