26 พ.ย. 2552

Chillispot แบบ 3 การ์ดแลน (1 WAN 2 LAN)

ผมได้ติดตั้ง Chillispot บน Ubuntu 8.0.4
แบบ 2 NICS โดยที่ผมดูการทำจาก VDO ของ อ.ชวลิต แดงเพ็ง จากเวบ http://www.linuxthai.org/forum/index.php?topic=2578.0
หลังจากที่ติดตั้งผ่านแล้ว ผมได้เพิ่ม การ์ดแลน อีก 1 อัน เพื่อให้ intranet อีกวงหนึ่ง มา Authentication ที่ Ubuntu box นี้

ผมเริ่มจากทำด้วยการเปิดเวบ google.com อ่านแล้วสรุปได้ดังนี้ครับ

เพิ่ม tun1 เข้าไปด้วยการ
#cp /etc/chilli.conf /etc/chilli100.conf
#nano /etc/chilli100.conf >>.. แก้ไขตามนี้
1. net 192.168.100.1 >>.. เป็น ip ที่ผมระบุให้กับ tunnel นี้
2. dhcpif eth2 >>.. เปลี่ยนเป็นชื่อ interface อันใหม่
3. uamserver https://192.168.100.1/uam/hotspotlogin.php >>.. เปลี่ยน ip
4. uamhomepage https://192.168.100.1/uam/index.php >>.. เปลี่ยน ip
5. uamlisten 192.168.100.1 >>.. เปลี่ยน ip
6. coaport 3999 >> ไม่ให้ซ้ำกับ port 3779

แล้วก้สั่ง รัน ด้วย /usr/sbin/chilli -c /etc/chilli100.conf
ต่อไปก็แก้ไข iptables
=======================================================
SERVER_IP="192.168.100.1"

$IPTABLES -F
$IPTABLES -F -t nat

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT

#Allow related and established on all interfaces (input)
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#Allow releated, established and ssh on $EXTIF. Reject everything else.
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 22 --syn -j ACCEPT
$IPTABLES -A INPUT -i tun0 -p tcp -m tcp --dport 22 --syn -j ACCEPT
$IPTABLES -A INPUT -i tun1 -p tcp -m tcp --dport 22 --syn -j ACCEPT

iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -d $SERVER_IP -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A INPUT -i $EXTIF -j REJECT

#Allow related and established from $INTIF. Drop everything else.
$IPTABLES -A INPUT -i $INTIF1 -j DROP
$IPTABLES -A INPUT -i $INTIF2 -j DROP

#Allow http and https on other interfaces (input).
#This is only needed if authentication server is on same server as chilli
$IPTABLES -A INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp --dport 443 --syn -j ACCEPT

#Allow 3990 on other interfaces (input).
$IPTABLES -A INPUT -p tcp -m tcp --dport 3990 --syn -j ACCEPT

#Allow everything on loopback interface.
$IPTABLES -A INPUT -i lo -j ACCEPT

# Drop everything to and from $INTIF (forward)
# This means that access points can only be managed from ChilliSpot
$IPTABLES -A FORWARD -i $INTIF1 -j DROP
$IPTABLES -A FORWARD -o $INTIF1 -j DROP
$IPTABLES -A FORWARD -i $INTIF2 -j DROP
$IPTABLES -A FORWARD -o $INTIF2 -j DROP

#Enable NAT on output device
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
iptables -A OUTPUT -p icmp --icmp-type 0 -s $SERVER_IP -d 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT

====================================================================

ต่อไปเพิ่ม Virtual Host ชื่อว่า Hotspot100
#nano /etc/apache2/sites-available/hotspot100 ข้างในตามข้างล่างนี้

=============================================
NameVirtualHost 192.168.100.1:443

ServerAdmin alobe@hotmail.com
DocumentRoot "/var/www/hotspot100"
ServerName "192.168.100.1"

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all


Alias "/dialupadmin/" "/usr/share/freeradius-dialupadmin/htdocs/"

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all


ScriptAlias /cgi-bin/ /var/www/hotspot100/cgi-bin/

AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


ErrorLog /var/log/apache2/hotspot-error.log

LogLevel warn

CustomLog /var/log/apache2/hotspot-access.log combined

ServerSignature On
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem

==========================================

หลังจากสร้างไพล์เสร็จแล้วใช้คำสั่งนี้
#a2ensite hotspot100
#/etc/init.d/apache2 reload
#nano /etc/apache2/ports.conf

======================
#Listen 80
#
# Listen 443
#

Listen 192.168.2.1:80
Listen 192.168.2.1:443
Listen 192.168.100.1:80
Listen 192.168.100.1:443
===================

ต่อด้วย คำสั่ง
#/etc/init.d/apache2 reload
#/etc/init.d/apache2 restart

ลองดูแล้วใช้ได้ ก็เลยจบข่าว!

ไม่มีความคิดเห็น:

แสดงความคิดเห็น