resource Authentication Gateway howto http://www.faqs.org/docs/Linux-HOWTO/Authe...CATGATEWAYSETUP
Linux Wireless Access Point howto http://oob.freeshell.org/nzwireless/LWAP-HOWTO.html
http://www.tldp.org/HOWTO/Authentication-Gateway-HOWTO/index.html
tip
ว๊าก ๆ set ตั้งนาน..
- อย่าลืม package Net::Netmask จาก CPAN
- อย่าลืมตั้ง permission ของ folder pgp
- อย่าลืมใส่ LocalNetwork ใน nocat.conf ของ authen ด้วย (ไม่มีใน doc นะ มันไม่ได้บอกไว้)
- file trusted.pgp ต้องเอาไปไว้ที่ nocat/gw/pgp นะ ไม่ใช่ที่ nocat/gw
สรุปวิธีตั้ง auth server ใน FC3
(เวลา install FC3 อย่า enable SELinux แต่ถ้า Enable ไปแล้วให้ไปเอาออกที่ /etc/selinux/config
-
ลง NoCatAuth โดย 1.1 make PREFIX=/usr/local/nocat/authserv authserv (ระวัง มันจะหา gpg โดยใช้คำสั่ง which ให้ดูด้วยว่าเครื่องที่จะลงมันมี which อยู่หรือเปล่า FC3 ถ้าลงแบบ server มันจะไม่ลง which ให้) 1.2 make PREFIX=/usr/local/nocat/authserv pgpkey
-
แก้ /etc/httpd/conf/httpd.conf โดยเพิ่มบรรทัด Include /usr/local/nocat/authserv/httpd.conf ไว้หลัง include มันจะได้ทำ Alias ของ /script
-
Install Net::Netmask perl module โดย 3.1 untar Net-Netmask.xxxx 3.2 ใน Net-Netmask.xxxx directory พิมพ์ perl Makefile.pl 3.3 พิมพ์ make 3.4 พิมพ์ make install
-
แก้ config ของ auth server แก้วิธี authenticate ให้ตรงกับที่จะใช้ เพิ่มบรรทัด LocalNetwork 192.168.1.0/24 ด้วย (สำคัญมาก)
-
copy ไฟล์ /usr/local/nocat/authserv/trustedkeys.gpg ไปที่เครื่อง gateway โดยเอาไว้ที่ /usr/local/nocat/gw/pgp ด้วย
-
แก้ permission ของ /usr/local/nocat/authserv/pgp ให้ owner เป็นคนเดียวกับที่รัน httpd
-
restart httpd
---------- FOR FreeBSD --------------- อย่างแรกเลย Authen::Smb มันต้องแก้ #include < malloc.h > มันจะ error ใน FreeBSD ให้แก้เป็น #include < stdlib.h > แทน
แล้วก็ #include < sys/vfs.h> ก้ใช้ไม่ไ้ด ต้องเป็น #include < sys/statvfs.h> แทน
apache เวลาจะให้มันใช้ modssl ด้วยต้อง start ด้วย apachectl startssl ซึ่งมันจะถาม passphrase วิธีเอาออกก็คือ
ดูมาจาก http://www.modssl.org/docs/2.7/ssl_faq.html#ToC31
ต่อไปก็คือ.... เป็นไรไม่รู้ ถ้าให้ apache มัน start ตอน boot เครื่องเองเนี่ย มันจะหา gpg ไม่เจอ (คือตอน authen มันจะร้องด่าว่าหา gpg ไม่เจอ ดูได้จาก http-error.log) แต่ถ้า login เป็น root เข้าไป restart server แล้วมันจะหาเจอ ไม่รู้แก้ไงเหมือนกัน ก็เลย copy gpg ไปไว้ที่ /bin อีกที (ตอนแรกมันอยู่ที่ี /usr/local/bin) ก็ work เลย คงเกี่ยวกะ path ของแม่ง
โอ้วเย็ดดดดด
พยายามทำให้มันใช้ NIS.... ทำตั้งนาน.. ไม่ work ซะที ให้มันใช้ NIS ตรง ๆ (โดยใช้ package Net::Nis) ไม่ work
หันมาใช้ PAM ทดลองแล้วใช้ PAM ก็เหมือนจะ work ดี ลอง set PAM ให้ใช้ pam_permit.so ก็ work ใช้ได้.... แต่พอตั้งให้ให้จริง ๆ กลับไม่ work ไม่รู้เพราะอะไร.. ลองเอา Authen::PAM มา่ใช้ตรงๆ (คือเขียน perl ลองดู) ก็ใช้ได้ แต่พอใช้ใน apache กลับ ไม่ work
สุดท้ายใช้ Samba กะ Authen::Smb... ทีเดียว work เลย.. เฮ่อ...
แก้ไข Authentication server
หน้า web ต่าง ๆ ของ auth server มันมีผิด ๆ อยู่หน่อย อย่างแรกคือเวลา login ได้ถูกต้อง หน้า login_ok.html ที่แสดงออกมา link ที่ให้ click เผื่อเวลาที่ไม่ auto มันเป็น link ที่ผิด (มันใช้อันเดียวกับที่ใส่ไว้ใน content= 5;refresh ตรง header)
ให้ไปแก้ไฟล์ AuthService.pm ใน /usr/local/nocat/authserv/lib/NoCat/
แก้ sub ชื่อ sucess โดยเพิ่มตัวแปร redirect_click ให้ไว้
เวอร์ชั่นที่แก้แล้วจะเป็นยังงี้
แก้ไฟล์ login_ok.html ด้วย ตรงที่ click ให้เป็น
password เครื่องลูก ๆ ในชั้น 17
;sdgjo*(04286
ตอนที่ 2 การสร้าง authentication gateway
หลักจากสร้าง authentication server เสร็จแล้ว รายการต่อมาก็คือการสร้าง authentication gateway
-
ลง Fedora Core3 (อีกแล้ว...) ตอนลงอย่าลืมเลือกให้มันลง dhcpd มาไว้ด้วย
-
ตั้ง dhcpd server 2.1 สร้างไฟล์ /etc/dhcpd.conf ดังต่อไปนี้
subnet 161.200.92.0 เอาไว้บอกว่าเครื่องนี้ต่อกะ 2 network แล้วไม่ต้องยุ่งอะไรกะ network ของ 161.200.92.0/23
2.2 ตั้งให้ dhcpd รันทุกครั้งที่เปิดเครื่อง
- ลง NoCatAuth โดย 3.0 ตัว script มันจะ detect firewall (iptables) แต่ว่า script มันเขียนไว้ผิด เราต้องไปแก้ script ที่มันเขียนก่อน
ให้แก้ไขไฟล์ bin/detect-fw.sh
ดูตรง
ให้แก้ตรง Linux 2.4 เป็น Linux 2.6 (เพราะ Fedora Core3 มันใช้ 2.6)
3.1 make PREFIX=/usr/lolcal/nocat/gw gateway 3.2 แก้ไขไฟล์ nocat.conf โดยเพิ่ม/แก้ บรรทัดต่อไปนี้
3.3 copy ไฟล์ trustedkeys.gpg จากเครื่อง auth มาไว้ที่ /usr/local/nocat/gw/pgp
- ทำให้ service วิ่งได้เองเวลา reboot ให้แก้ไฟล์ /etc/rc.d/rc.local โดยเพิ่ม
อ้อ ๆ อย่าลืมแก้พวก htdocs ต่าง ๆ ใน auth server ให้ตรงกับที่ต้องการ (ไม่จำเป็น)
เช่นแก้ชื่ือให้เป็น CP Network, ใส่คำเตือน, etc.