技术, CentOS, 运维

CentOS 有线网卡配置 IEEE 802.1X 上网

公司网络使用 IEEE 802.1X 认证网络接入,手机端和 Windows 端都很方便,Linux 上稍微麻烦一些。最近有个测试服务器(CentOS 7.6)需要接入办公网络测试,折腾了一番。

中间走的弯路就不讲了,直接讲最终的解决方案吧。

  1. 取消 /etc/sysconfig/network-scripts/ 中活动网卡(本例中是 ifcfg-em1)的任何配置,例如 ONBOOT 等。

  2. chkconfig --list ,查看是否有 network 的服务,如果有,执行 chkconfig --del network 删除

  3. 修改 /etc/wpa_supplicant/wpa_supplicant.conf,写入如下内容:

    ctrl_interface=/var/run/wpa_supplicant
    ap_scan=0
    network={
        key_mgmt=IEEE8021X
        eap=PEAP
        identity="YOUR_USER_NAME"
        password="YOUR_PASSWORD"
        phase2="autheap=MSCHAPV2"
    }
    

    认证的账号和加密方式需要根据具体需求做更改。

    可通过如下代码来测试是否成功(根据网卡名称 em1 需要根据实际使用的网卡做调整):

    $ ifdown em1
    $ wpa_supplicant -B -i em1 -c /etc/wpa_supplicant/wpa_supplicant.conf -D wired
    $ ifup em1
    $ dhclient em1
    $ ip addr # 查看IP地址
    $ ping baidu.com # 检查是否可以 Ping 通百度
    
  4. 下面设置开机启动,在 /etc/init.d/ 中创建 wpa_network,写入如下内容:

    #!/bin/bash
    # chkconfig: 2345 10 90
    # description: wpa network
    
    ifdown em1
    
    wpa_supplicant -B -i em1 -c /etc/wpa_supplicant/wpa_supplicant.conf -D wired
    
    ifup em1
    
    dhclient em1
    
  5. chkconfig --add wpa-network,加入到 chkconfig

  6. chkconfig wpa-network on,开启

  7. reboot 重启检测是否成功自动联网

后记:后来发现运维可以直接通过 MAC 地址配置上网,于是又取消了 wpa 自动联网,直接在 /etc/sysconfig/network-scripts/ 中把 ifcfg-em1 中的 ONBOOT 设为 yes 即可。

Author image

关于 Bean Deng