close

目的: 通過無線網路 讓我們幾個人通過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的時候 自動分配一個。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 安德森 的頭像
    安德森

    安德森技術備忘板

    安德森 發表在 痞客邦 留言(0) 人氣()