Ubuntu Server 16使用无线网卡连接802.1x网络(BUPT-mobile)

想在实验室搞台24h待机的server,正好手头有台lenovo E591s小主机。使用网线上网走流量,而且同一账号同时只能2台设备登陆,因此打算使用不计流量的无线网。本文介绍了使用E591s配合无线网卡RTL-8188CUS连接802.1 EAP网络的具体步骤。

  1. 安装wpa_supplicant
    Ubuntu Server 16.0本身没有自带wpa_supplicant,所以一开始必须连接有线网络安装。
    sudo apt install wpasupplicant

  2. 创建wpa_supplicant.conf配置文件
    sudo vim /etc/wpa_supplicant/wpa_supplicant.conf
    将以下内容粘贴进去:

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=US
    
    network={
        ssid="你的WiFi名字"
        priority=1
        proto=RSN
        key_mgmt=WPA-EAP
        pairwise=CCMP
        auth_alg=OPEN
        eap=PEAP
        identity="你的用户名"
        password="你的密码"
        phase1="peaplabel=0"
        phase2="auth=MSCHAPV2"
    }		
    

    注意:不同的公司使用的802.1认证协议可能不同,对应的这个配置文件也不同!

  3. 确定无线网卡名字
    ifconfig
    Ubuntu的网卡名有的时候很诡异,所以要先确认一下。我的无线网卡名是wlan0。你在后续操作的时候将我指令中wlan0替换成你查到的网卡名即可。

  4. 编辑网络配置文件
    sudo vim /etc/network/interfaces
    注意加粗部分!
    source /etc/network/interfaces.d/*

    auto lo
    iface lo inet loopback
    auto wlan0
    iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

  5. 重启
    sudo reboot

  6. 测试连接
    sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
    如果wpa_supplicant.conf填写正确的话,执行完这句可以看到success的信息。此时打开一个新的终端,通过ifconfig可以看到无线网卡已经获取到了IP。如果不成功,说明wpa_supplicant.conf填写不对。
    OK的话,ctrl+c退出。
    如果有线网卡也在使用中,那么此时其它机器ping不通无线网卡刚获取的IP。把网线拔掉就可以ping通。

  7. 设置开机自动连接
    7.1 先修改wpa_supplicant服务。
    sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service
    sudo vim /etc/systemd/system/wpa_supplicant.service
    找到这行:ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
    改成这样:ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0
    保存,退出。
    7.2 设置开机启动:
    sudo systemctl enable wpa_supplicant.service
    7.3 再添加一个开机自动获取IP的dhclient服务:
    sudo vim /etc/systemd/system/dhclient.service
    文件中写:
    [Unit]
    Description= DHCP Client
    Before=network.target

    [Service]
    Type=simple
    ExecStart=/sbin/dhclient wlan0

    [Install]
    WantedBy=multi-user.target
    保存,退出。
    7.4 启动服务:
    sudo systemctl enable dhclient.service

  8. 更换内核
    此时重启已经可以自动连网,但是有BUG:我的内核是linux-image-4.4.0-131-generic,关机或者重启会卡死在failed to finalize DM devices,解决方法是换成4.8的内核。
    下载地址:https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8/
    我下载的是linux-image-4.8.0-040800-generic_4.8.0-040800.201610022031_amd64.deb。
    首先查看已安装的内核:
    sudo dpkg --get-selections |grep linux-image
    安装新内核:
    sudo dpkg -i linux-image-4.8.0-040800-generic_4.8.0-040800.201610022031_amd64.deb
    移除旧内核():
    sudo apt remove 刚才列出的内核名字
    然后重启:
    sudo reboot
    此问题解决。

  9. 开机启动慢的问题
    开机显示:A start job is running for Raise network interface(5min 13s )
    sudo vim /etc/systemd/system/network-online.target.wants/networking.service
    最后一行的5min改成2sec即可。

参考:
https://www.linuxbabe.com/command-line/ubuntu-server-16-04-wifi-wpa-supplicant
https://www.linuxidc.com/Linux/2016-05/131486.htm
https://www.twblogs.net/a/5b89b2bf2b71775d1ce34b39/zh-cn/
https://blog.csdn.net/pipcie/article/details/79504764
https://blog.csdn.net/pipcie/article/details/79504764

你可能感兴趣的:(Linux)