|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2004-07-22, 03:45 PM | #1 |
榮譽會員
|
無線網路閘道通過 web 認證上網 計費。
目的: 通過無線網路 讓我們幾個人通過web認證方式 上網。
第一步 安裝 linux 安裝的時候注意 內核包 和 軟體編程包。(如果熟悉可以安裝好後自己增加。) 調整好 網路卡 使其能正常通訊。 網路卡一共兩塊 連接了兩個 網段 一塊為 無線,另一塊為ethernet 網路卡。 make menuconfig 編譯內核,增加一些需要的支持。 # # Networking options # CONFIG_PACKET=y # CONFIG_PACKET_MMAP is not set # CONFIG_NETLINK is not set CONFIG_NETFILTER=y CONFIG_NETFILTER_DEBUG=y CONFIG_FILTER=y CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_IP_MROUTE is not set # CONFIG_INET_ECN is not set # CONFIG_SYN_COOKIES is not set # IP: Netfilter Configuration # CONFIG_IP_NF_CONNTRACK=y CONFIG_IP_NF_FTP=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_MATCH_LIMIT=y CONFIG_IP_NF_MATCH_MAC=y CONFIG_IP_NF_MATCH_MARK=y CONFIG_IP_NF_MATCH_MULTIPORT=y CONFIG_IP_NF_MATCH_TOS=y CONFIG_IP_NF_MATCH_TCPMSS=y CONFIG_IP_NF_MATCH_STATE=y CONFIG_IP_NF_MATCH_UNCLEAN=y CONFIG_IP_NF_MATCH_OWNER=y CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_TARGET_REJECT=y CONFIG_IP_NF_TARGET_MIRROR=y CONFIG_IP_NF_NAT=y CONFIG_IP_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=y CONFIG_IP_NF_TARGET_REDIRECT=y CONFIG_IP_NF_NAT_FTP=y CONFIG_IP_NF_MANGLE=y CONFIG_IP_NF_TARGET_TOS=y CONFIG_IP_NF_TARGET_MARK=y CONFIG_IP_NF_TARGET_LOG=y CONFIG_IP_NF_TARGET_TCPMSS=y 之後 根據提示 完成內核編譯 執行指令 echo 1 > /proc/sys/net/ipv4/ip_forward 增加轉發功能。 編輯/etc/sysctl.conf 文件 增加 net.ipv4.ip_forward = 1 配置 iptables 指令碼 實現NAT並且丟棄所有的 非法轉發包。 執行 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A INPUT -i eth0 -m state --state NEW, INVALID -j DROP iptables -A FORWARD -i eth0 -m state --state NEW, INVALID -j DROP iptables -I FORWARD -o eth0 -j DROP iptables -I FORWARD -s 192.168.0.0/24 -d 192.168.0.1 -j ACCEPT 根據實際需要更改 儲存現有iptabies 狀態 /etc/init.d/iptables save /etc/init.d/iptables restart 當然也可以寫一個指令碼來 每次啟動執行。 配置一個PAM 的iptables module ftp://ftp.itlab.musc.edu/pub/pam_iptables.tar.gz 編譯 .c 文件 gcc -fPIC -c pam_iptables.c ld -x --shared -o pam_iptables.so pam_iptables.o 拷貝編譯後的文件到/lib/security 裡面 cp ./pam_iptables.so /lib/security/pam_iptables.so 安裝指令碼到 usr/local/auth-gw mkdir /usr/local/auth-gw cp insFwall /usr/local/auth-gw 編輯 /etc/pam.d/sshd 增加一行 vi ./ssd session required /lib/security/pam_iptables.so nocat 網路閘道編譯 nocat http://nocat.net/download/NoCatAuth/ GnuPG http://www.gnupg.org/download.html 首先編譯 GnuPG 這個是比需要安裝的。 之後編譯 nocat tar xvzf NocatAuth-0.82.tar.gz 軟體預設目錄是 /usr/local/nocat 如果要更改安裝目錄 請更改 Makefile 中的 INST_PATH cd NoCatAuth-0.82 make 的時候要帶參數 make gateway 編譯好以後 進行配置編輯。 /usr/local/nocat/nocat.conf 都有詳細說明解釋 根據需要配置一下就好了。 執行 /usr/local/nocat/bin/gateway dhcp配置 編輯 dhcp.conf subnet 192.168.0.0 netmask 255.255.255.0 { # --- default gateway option routers 192.168.0.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option domain-name-servers 192.168.0.1; range 10.0.1.3 10.0.1.254; option time-offset -5; # Eastern Standard Time default-lease-time 21600; max-lease-time 43200; } 啟動 /usr/sbin/dhcpd eth1 安裝認證模組 認證有好多種,mysql freeradius ldap 文件方式 我選項的是 mysql 方式 只要在 nocatserv.conf 中簡單配置就可以了。 首先 編譯一個 認證模組 還是在 nocat 目錄下 進行 make authserv 之後需要 make pgpkey 產生一個密匙 編輯 nocat.conf文件中的 auth方面 增加 cp 密匙到 指定目錄 在 apache 中增加 vi httpd.conf 增加 Include /usr/local/nocat/etc/authserv.conf 啟動 apache 一切 ok 進入 http://192.168.0.1/nocat/cgi-bin/ 註冊用戶 apache 需要 ssl 模組支持 dns 沒有寫,自己去論壇中看一下吧。 如果不配置dns 可以dhcp的時候 自動分配一個。 |
送花文章: 3,
|