现在的位置: 首页 > 综合 > 正文

wpa_supplicant

2013年06月15日 ⁄ 综合 ⁄ 共 5320字 ⁄ 字号 评论关闭

        WPA_supplicant 是 WPA/WPA2 认证的客户端,同时也适用于 WEAP,对有线、无线网络都可以使用,不过,WPA2/TKIP (就是前两天说被破解了的那个,不过目前仍然是最安全的WLAN无线连接方式。哦?你说WAPI?哦,不好意思,我没见过真的,不好说哈。)还是我们最首选的方式。

要使用 WPA_Supplicant,在 /etc/network/interfaces (这个网卡配置文件的格式是 Debian 系的特点 RH/SuSE 系有明显不同,未做研究)中,需要指定使用 WPA_supplicant

allow-hotplug wlan0

iface wlan0 inet manual

wpa-driver wext

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

        这里,注意第二行的 manual,指定既不配置固定IP,又不使用 DHCP,要“手工”配置,而后,指定了 WPA 的驱动,wext 是 Linux kernel 的 Wireless Extension,凡是使用 Linux 原生驱动的情况,只有使用固定网络的情况和使用 atmel 芯片的情况例外,关于这些例外,请参考软件文档。

        wpa-roam (漫游模式)是指,根据后面指定的配置文件进行匹配,接入可以发现的网络,当然,也可以配置成不使用 wpa-roam,而是固定在这里写明配置,但对于大部分笔记本用户来说,在不同时间地点接入两个以上的网络是常有的事,因此 roam 是更常见的模式。

        wpa_supplicant.conf 这个文件很简单,是用来描述一个个网络的,下面是我家的网络配置

network={

ssid="fusion"

scan_ssid=1

key_mgmt=WPA-PSK

proto=WPA

pairwise=TKIP

group=TKIP
psk="my-wlan-passwd"

id_str="fusion"

}

        对每个网络都是这么一段,这里面 ssid 是无线路由器设置的 SSID,后面 key_mgment, proto, group 这几个字段指定了 WPA/TKIP 方式,而 psk 指定的就是我的密钥,这几个对于不同的认证方式有所不同,scan_ssid=1 是用来对付设置不广播网络SSID的路由器的,我的路由器就是这么配置的,呵呵,理由自然是增强一层安全性了。最后的 id_str 是这段描述的一个标记,在 /etc/network/interfaces 里,可以针对这个 id 进行配置,如

iface fusion inet dhcp

        指定对这个网络进行 dhcp 获取 IP。如果是 WEP 的话,设置可能是这样

network={

ssid="wepnet"

key_mgmt=NONE

wep_key0="WEPKEY"

wep_tx_keyidx=0

id_str="wep"

}

 字段含义与 WPA 的类似。 当然,在 wpa_supplicant.conf 里可以设定一个缺省的网络,在没有其他网络时进行尝试
network={

key_mgmt=NONE

}

        在 interfaces 里也可以指定一个缺省配置,如,对没有特殊声明的大多数网络都采用 dhcp 。以上就是使用 wpa_supplicant 配置无线网络认证的简单方法,wpa_supplicant 也提供了很多例子可供参考,大家可以尝试一下。

1. OpenSSL:openssl-0.9.8i.tar.gz
  ./Config --prefix=../openssl/__install    os/compiler:/usr/local/mipseltools-gcc412-lnx26/bin/mipsel-linux-gcc
修改Makefile
480 install_sw:
481     @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin /
482         $(INSTALL_PREFIX)$(INSTALLTOP)/lib /
483         $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines /
484         $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig /
485         $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl /
486         $(INSTALL_PREFIX)$(OPENSSLDIR)/misc /
487         $(INSTALL_PREFIX)$(OPENSSLDIR)/certs /
488         $(INSTALL_PREFIX)$(OPENSSLDIR)/private
489     @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;/
490     do /
491     (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; /
492     chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); /
493     done;
494     @set -e; target=install; $(RECURSIVE_BUILD_CMD)
将最后一行改为
494     @set -e; target=install; #$(RECURSIVE_BUILD_CMD)
这个会导致执行make install 时cp 头文件出错

make
make install
cp include/openssl/* ../openssl/_install/include/openssl/     (将头文件拷贝到安装目录下)
cp -rf  ../openssl/__install/*  /usr/local/mipseltools-gcc412-lnx26/mipsel-linux

2、WPA-SUPPLICANT
make  mkconfig
make CC=mipsel-linux-gcc DESTDIR=./install
make CC=mipsel-linux-gcc DESTDIR=./install  install
将install/usr/local/sbin 拷贝到 开发板上

        WPA_supplicant 是 WPA/WPA2 认证的客户端,同时也适用于 WEAP,对有线、无线网络都可以使用,不过,WPA2/TKIP (就是前两天说被破解了的那个,不过目前仍然是最安全的WLAN无线连接方式。哦?你说WAPI?哦,不好意思,我没见过真的,不好说哈。)还是我们最首选的方式。

要使用 WPA_Supplicant,在 /etc/network/interfaces (这个网卡配置文件的格式是 Debian 系的特点 RH/SuSE 系有明显不同,未做研究)中,需要指定使用 WPA_supplicant

allow-hotplug wlan0

iface wlan0 inet manual

wpa-driver wext

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

        这里,注意第二行的 manual,指定既不配置固定IP,又不使用 DHCP,要“手工”配置,而后,指定了 WPA 的驱动,wext 是 Linux kernel 的 Wireless Extension,凡是使用 Linux 原生驱动的情况,只有使用固定网络的情况和使用 atmel 芯片的情况例外,关于这些例外,请参考软件文档。

        wpa-roam (漫游模式)是指,根据后面指定的配置文件进行匹配,接入可以发现的网络,当然,也可以配置成不使用 wpa-roam,而是固定在这里写明配置,但对于大部分笔记本用户来说,在不同时间地点接入两个以上的网络是常有的事,因此 roam 是更常见的模式。

        wpa_supplicant.conf 这个文件很简单,是用来描述一个个网络的,下面是我家的网络配置

network={

ssid="fusion"

scan_ssid=1

key_mgmt=WPA-PSK

proto=WPA

pairwise=TKIP

group=TKIP
psk="my-wlan-passwd"

id_str="fusion"

}

        对每个网络都是这么一段,这里面 ssid 是无线路由器设置的 SSID,后面 key_mgment, proto, group 这几个字段指定了 WPA/TKIP 方式,而 psk 指定的就是我的密钥,这几个对于不同的认证方式有所不同,scan_ssid=1 是用来对付设置不广播网络SSID的路由器的,我的路由器就是这么配置的,呵呵,理由自然是增强一层安全性了。最后的 id_str 是这段描述的一个标记,在 /etc/network/interfaces 里,可以针对这个 id 进行配置,如

iface fusion inet dhcp

        指定对这个网络进行 dhcp 获取 IP。如果是 WEP 的话,设置可能是这样

network={

ssid="wepnet"

key_mgmt=NONE

wep_key0="WEPKEY"

wep_tx_keyidx=0

id_str="wep"

}

 字段含义与 WPA 的类似。 当然,在 wpa_supplicant.conf 里可以设定一个缺省的网络,在没有其他网络时进行尝试
network={

key_mgmt=NONE

}

        在 interfaces 里也可以指定一个缺省配置,如,对没有特殊声明的大多数网络都采用 dhcp 。以上就是使用 wpa_supplicant 配置无线网络认证的简单方法,wpa_supplicant 也提供了很多例子可供参考,大家可以尝试一下。

1. OpenSSL:openssl-0.9.8i.tar.gz
  ./Config --prefix=../openssl/__install    os/compiler:/usr/local/mipseltools-gcc412-lnx26/bin/mipsel-linux-gcc
修改Makefile
480 install_sw:
481     @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin /
482         $(INSTALL_PREFIX)$(INSTALLTOP)/lib /
483         $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines /
484         $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig /
485         $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl /
486         $(INSTALL_PREFIX)$(OPENSSLDIR)/misc /
487         $(INSTALL_PREFIX)$(OPENSSLDIR)/certs /
488         $(INSTALL_PREFIX)$(OPENSSLDIR)/private
489     @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;/
490     do /
491     (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; /
492     chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); /
493     done;
494     @set -e; target=install; $(RECURSIVE_BUILD_CMD)
将最后一行改为
494     @set -e; target=install; #$(RECURSIVE_BUILD_CMD)
这个会导致执行make install 时cp 头文件出错

make
make install
cp include/openssl/* ../openssl/_install/include/openssl/     (将头文件拷贝到安装目录下)
cp -rf  ../openssl/__install/*  /usr/local/mipseltools-gcc412-lnx26/mipsel-linux

2、WPA-SUPPLICANT
make  mkconfig
make CC=mipsel-linux-gcc DESTDIR=./install
make CC=mipsel-linux-gcc DESTDIR=./install  install
将install/usr/local/sbin 拷贝到 开发板上

抱歉!评论已关闭.