LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 834|回复: 3

用实达的上网问题(DHCP)能否集中解决一下?(Debian)

[复制链接]
发表于 2004-6-2 11:47:09 | 显示全部楼层 |阅读模式
我在论坛上搜了一下,基本上没有实达DHCP上网的贴子,就伊甸园有一篇贴子讨论过,但是用实达的拨号上网的人肯定很多,特别是学校里,我希望同我一样情况的人大家一起讨论讨论,搞定的人共享一下经验.
我在win下用Star Supplicant 2.31通过网卡拨到交换机上认证上网,即DHCP了,在linux找了两个软件xsupplicant和mdc-ssd,后一个听说不能在2.6的内核下运行,所以就选择xsupplicant了,依赖openssl-0.9.7包.我去它官方网站(www.open1x.org)下了最新的源码包1.2的装上了.这是我的1x.conf默认配置,不知道改哪些东西了.
# This is an example configuration file for xsupplicant versions after 0.8b.

### GLOBAL SECTION

# network_list: defines all of the networks in this file which
# should be kept in memory and used.Comma delimited list or "all"
# for keeping all defined configurations in memory. For efficiency,
# keep only the networks you might roam to in memory.
# To avoid errors, make sure your default network is always
# in the network_list. In general, you will want to leave this set to
# "all".

network_list = all
#network_list = default, test1, test2

# default_netname: some users may actually have a network named "default".
# since "default" is a keyword in the network section below, you can
# change which is to be used as the replacement for this keyword

default_netname = default
#default_netname = my_defaults

# In the startup_command, first_auth_command, and reauth_command you can
# use "%i" to have xsupplicant fill in the interface that is being used.
# This allows a single network profile to work across different wireless
# cards.

# startup_command: the command to run when xsupplicant is first started.
# this command can do things such as configure the card to associate with
# the network properly.
startup_command = echo "some command"

# first_auth_command: the command to run when xsupplicant authenticates to
# a wireless network for the first time. This will usually be used to
# start a DHCP client process.
first_auth_command = dhclient %i

# reauth_command: the command to run when xsupplicant reauthenticates to a
# wireless network. This may be used to have the dhcp client rerequest
# it's IP address.
reauth_command = echo "authenticated user %i"

# When running in daemon, or non-foreground mode, you may want to have the
# output of the program. So, define a log file here. Each time XSupplicant
# is started, this file will be replaced. So, there is no need to roll the
# log file.
logfile = /var/log/xsupplicant.log

# The auth_period, held_period, and max_starts modify the timers in the state
# machine. (Please reference the 802.1x spec for info on how they are used.)
# For most people, there is no reason to define these values, as the defaults
# should work.

#auth_period = 30

#held_period = 30

#max_starts = 3

# Defining an interface in "allow_interfaces" will bypass the rules that
# xsupplicant uses to determine if an interface is valid. For most people
# this setting shouldn't be needed. It is useful for having xsupplicant
# attempt to authenticate on interfaces that don't appear to be true
# physical interfaces. (i.e. Virtual interfaces such as eth0:1)

#allow_interfaces = eth0, wlan0

# Defining an interface in "deny_interfaces" will prevent xsupplicant from
# attempting to authenticate on a given interface. This is useful if you
# know that you will never do 802.1x on a specific interface. However,
# allows will take priority over denies, so defining the same interface in
# the allow_interfaces, and deny_interfaces will result in the interface
# being used.

#deny_interfaces = eth1

### NETWORK SECTION



# the general format of the network section is a network name followed
# by a group of variables

# network names may contain the following characters: a-z, A-Z, 0-9, '-',
# '_', '\', '/'
# Those interested in having an SSID with ANY character in it can use
# the ssid tag within the network clause. Otherwise, your ssid will
# be the name of the network.

## The default network is not a network itself. These values are
## the default used for any network parameters not overridden
## in another section. If it's not in your network configuration
## and not in your default, it won't work!!

default
{
# type: the type of this network. wired or wireless, if this value is not
# set, xsupplicant will attempt to determine if the interface is wired or
# wireless. In general, you should only need to define this when
# xsupplicant incorrectly identifies your network interface.
#type = wireless

# wireless_control : If this profile is forced to wired, this will not do
# anything. However, if the interface is forced, or detected to be wireless
# XSupplicant will take control of re/setting WEP keys when the machine
# first starts, and when it jumps to a different AP. In general, you won't
# need to define, or set this value.
# wireless_control = yes

# allow_types: describes which EAP types this network will allow. The
# first type listed will be requested if the server tries to use something
# not in this list.
# allow_types = eap_tls, eap_md5, eap_gtc, eap-otp
allow_types = all

# identity: what to respond with when presented with an EAP Id Request
# Typically, this is the username for this network. Since this can
# be an arbitrary string, enclose within and
identity = myid@mynet.net

# Force xsupplicant to send it's packets to this destination MAC address.
# In most cases, this isn't needed, and shouldn't be defined.
#dest_mac = 00:aA:bB:cC:dD:eE

## method-specific parameters are kept in the method
eap_tls {
user_cert = /path/to/certificate
user_key = /path/to/private/key
user_key_pass = password for key
root_cert = /path/to/list/of/valid/roots
crl_dir = /path/to/dir/with/crl
chunk_size = 1398
random_file = /path/to/random/source

# To enable TLS session resumption, you need to set the following
# value to "yes". By default, session resumption is disabled.
#session_resume = yes
}

eap-md5 {
username = testuser
password = testuserpass!
}

eap-ttls {
user_cert = /path/to/certificate
#as in tls, define either a root certificate or a directory
# containing root certificates
#root_cert = /path/to/root/certificate
root_dir = /path/to/root/certificate/dir
crl_dir = /path/to/dir/with/crl
user_key = /path/to/private/key
user_key_pass = password for key
chunk_size = 1398
random_file = /path/to/random/source
cncheck = myradius.radius.com # Verify the server certificate
# has this value in it's CN field.
cnexact = yes # Should it be an exact match?
#session_resume = yes
# phase2_type defines which phase2 to actually DO. You
# MUST define one of these.
phase2_type = chap
## These are definitions for the different methods you might
## do at phase2. only the one specified above will be used
## but it is valid to leave more than one here for convenience
## and easy switching.
pap {
username = papuser
password = pappasswd
}
chap {
username = chapuser
password = chappasswd
}
mschap {
username = mschapuser
password = mschappasswd
}
mschapv2 {
username = mschapv2user
password = mschapv2passwd
}
}

eap-leap {
username = leapuser
password = leapuserpass!
}

eap-mschapv2 {
username = eapmschapv2user
password = eapmschapv2userpass!
}

eap-peap {
user_cert = /path/to/certificate
root_dir = /path/to/root/certificate/dir
crl_dir = /path/to/dir/with/crl
user_key = /path/to/private/key
user_key_pass = password for key
chunk_size = 1398
random_file = /path/to/random/source
cncheck = myradius.radius.com # Verify the server certificate
# has this value in it's CN field.
cnexact = yes # Should it be an exact match?
session_resume = yes

#Currently 'all' is just mschapv2
#If no allow_types is defined, all is assumed
allow_types = all # where all = MSCHAPv2, MD5, OTP, GTC, SIM
#allow_types = eap_mschapv2

# right now you can do any of these methods in PEAP:
eap-mschapv2 {
username = phase2mschapv2
password = phase2mschapv2pass
}
}

eap-sim {

# In order to obtain the IMSI from the SIM card, the password
# *MUST* be defined here! Otherwise, you need to specify your
# IMSI as the username below.
username = simuser
password = simuserpass!
auto_realm = yes
}
}

# In this network definition, "test1" is the friendly name. It can match
# the essid of the network, which means you won't have to set the "ssid"
# variable. However, if it doesn't match, you need to set the "ssid"
# variable in order for the network to be detected correctly.
test1
{
type = wired
# ssid: you should not define this unless you have characters
# other than those specified above in the ssid of your network
ssid = mvemjsnp

allow_types = all
identity = Check this out- any char!#$

}


test2
{
# ssid: you should not define this unless you have characters
# other than those specified above in the ssid of your network
ssid = up to 32 character ASCII string
identity = testuser@testnet.com

allow_types = eap-tls
type = wireless
}

test3
{
# ssid: you should not define this unless you have characters
# other than those specified above in the ssid of your network
ssid = foo-network!

type = wired

identity= this will work too
}






可参考:
http://www.linuxsir.cn/forum.php ... hlight=%CA%B5%B4%EF
 楼主| 发表于 2004-6-2 11:54:16 | 显示全部楼层
贴出实达的帮助
STAR Supplicant

    传统的以太网具有开放的特性,用户只要连接到网桥上,就可以通过网桥进入任何网络服务。IEEE 802.1x标准在IEEE 802网络结构的基础上,定义了一种基于工作站/服务器模式的输入控制机制和认证协议,约束网络服务只向那些允许进行访问的用户提供,克服传统网桥的安全性弱点。该认证机制可以使用在包括IEEE 802.1D网桥,IEEE 802.11无线网络等典型网络类型中。

1.1.0 角色说明
中可以看到恳请者、认证者、认证服务器三个角色。下面分别对这三个角色的职责、基本工作原理以及推荐使用的软件等进行详细说明。

1.1.1 恳请者(Supplicant)
恳请者即IEEE802.1x标准描述中的Supplicant,是最终用户所扮演的角色。它请求对网络服务的访问,并对认证者的协议请求报文进行应答。恳请者必须运行符合IEEE 802.1x客户端标准的软件,目前最典型的就是Windows XP操作系统自带的IEEE802.1x客户端支持,另外,实达公司推出的STAR Supplicant软件也符合该客户端标准。

1.1.2 认证服务器(Authentication Server)
认证服务器是最终用户的认证服务的实际提供者。它认证用户的身份并将认证结果通知认证者。服务器必须是支持扩展EAP(Extensible Authentication Protocol)协议的RADIUS(Remote Authentication Dial-In User Service)安全系统。典型的服务器软件如Windows 2000 Server操作系统自带的IAS服务(Internet Access Service)。

1.1.3 认证者(Authenticator)
认证者控制恳请者对网络服务的访问。它实际在认证过程中只是一个认证信息交换的途径,负责与恳请者通信,将恳请者的认证请求发往认证服务器,而后根据认证服务器的指示执行对恳请者的授权。 认证者一般为交换机等接入控制设备。此时交换机除了支持IEEE802.1x规定的Authenticator标准,还必须支持RADIUS Client。恳请者和认证者之间通过EAPOL协议交换信息,而认证者和认证服务器通过RADIUS协议交换信息。当收到恳请者发来的EAP的报文,如果要往认证服务器转发,认证者就将其中的报文实体封装到RADIUS报文中,即转换成认证服务器认识的报文,而后再转发给服务器。同样,认证者收到认证服务器发来的要往恳请者转发的RADIUS报文时,也要将其转换成恳请者认识的EAP报文再转发给恳请者。通过这种转换,保证了认证过程的正常执行。实达公司的S1924F+完全符合IEEE802.1x标准对认证者系统的要求,为用户提供了完善的IEEE802.1x安全认证解决方案。

1.2 认证过程
触发认证过程可以有两种可能。其一,当交换机刚上电,或者交换机探测到端口状态从未连接改变为已连接时,交换机将发送一个EAP-request/identity报文给客户端,请求回应,此时客户端应回送一个EAP-response/identity报文以表示可以开始后续的认证过程。其二,如果用户的PC上电后没有收到交换机发来的EAP-request/identity,则用户可以从恳请者客户端程序发送一个EAPOL-STAR报文,交换机收到这个报文后,将按照上述从交换机发起的过程,发送一个EAP-request/identity报文给客户端,客户端再回送一个EAP-response/identity报文,开始后续的认证过程。 在客户端发送了EAP-response/identity报文后,交换机就开始其认证信息交换途径的功能,为客户端和认证服务器转发认证报文。如果认证成功,交换机将允许该用户使用网络,否则,用户将无法正常使用全部网络服务。另外,交换机还可以根据超时时间设定,定时要求认证重新进行,以保证用户实时性。用户如果需要退出认证状态,可以发送一个EAPOL-Logoff报文通知交换机,交换机收到此报文后,将自动将此用户从认证状态中退出。
 楼主| 发表于 2004-6-2 12:04:02 | 显示全部楼层
不好意思,天天只上debian版,忘了规则
 楼主| 发表于 2004-6-3 14:16:43 | 显示全部楼层
没人帮忙吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表