Чтобы ваш компьютер выполнял поиск и подключался к ЛЮБОМУ Open Wifi, измените следующие два файла:
* Это было протестировано на Ubuntu 14.04 x64 Server
/ etc / network / interfaces
##Wireless NIC
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface open_wifi inet dhcp
/ etc / wpa_supplicant / wpa_supplicant .conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
##Open_Wifi
network={
ssid=""
key_mgmt=NONE
id_str="open_wifi"
}
Теперь выключите / включите интерфейс и проверьте статус.
sudo ifconfig wlan0 down && sudo ifconfig wlan0 up && sudo wpa_cli -i wlan0 status
Ищите
wpa_state=COMPLETED
Тестирование:
используйте оба ifconfig / ping
ЕСЛИ ifconfig не показывает частный IP-адрес и ping не удастся
dhclient wlan0
попробуйте еще раз и должны показать частный IP, а ping должен быть успешным.
Чтобы вручную подключиться через конфигурацию для отладки, используйте это:
wpa_supplicant -d -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -D wext
-d = debug / verbose -dd == super verbose
-D = driver
wext = "универсальный драйвер"
I протестирован с телефоном через точку доступа, что ИДЕАЛЬНО, потому что он сообщает вам, когда клиент подключается. Я также отключил HotSpot, и он снова подключился, когда снова включился! Единственным недостатком является то, что если вы находитесь в густонаселенном районе, например, в моей тестовой среде, он подключен к «Xfinity-Wifi», который открыт, а затем мне пришлось перезагрузить компьютер, тогда он, похоже, пошел с моей точкой доступа из-за более сильного сигнала. Но как только он был на XFinity, он не покидал его, если я не указал SSID открытой сети внутри wpa_supplicant.conf ИЛИ не перезагрузился.
Мне также нужно сделать это с клиентом Palo Alto vpn. Я не использую Network Manager, но вы можете легко увидеть свои маршруты в командной строке и изменить их там, если ничего не работает для вас.
Когда я связан с точкой доступа wi -fi, мой маршрут выглядит так, как показано ниже (, где точка доступа является моим шлюзом по умолчанию ). Шлюз/маршрутизатор указывается как имеющий 0.0.0.0
Destination иUG
(Up,Gateway )в столбце flags
в route
выходе :
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.12.110.1 0.0.0.0 UG 0 0 0 wlan1
10.9.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
172.12.110.0 0.0.0.0 255.255.128.0 U 9 0 0 wlan1
После подключения к моей VPN точка доступа по-прежнему остается шлюзом по умолчанию, поскольку это первая запись в таблице маршрутизации с флагами UG
:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.12.110.1 0.0.0.0 UG 0 0 0 wlan1
0.0.0.0 10.115.186.212 0.0.0.0 UG 10 0 0 gpd0
10.9.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
140.110.254.254 10.115.186.212 255.255.255.255 UGH 0 0 0 gpd0
207.15.254.227 172.12.110.1 255.255.255.255 UGH 0 0 0 wlan1
207.15.254.254 10.115.186.212 255.255.255.255 UGH 0 0 0 gpd0
172.12.110.0 0.0.0.0 255.255.128.0 U 9 0 0 wlan1
Чтобы на самом деле направить мой трафик по каналу VPN, мне нужно удалить шлюз 172.12.110.1
с помощью sudo
и команды route
:sudo route del default
Теперь мой шлюз по умолчанию настроен на мой VPN-маршрутизатор/канал 10.115.186.212
.
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.115.186.212 0.0.0.0 UG 10 0 0 gpd0
10.9.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
140.110.254.254 10.115.186.212 255.255.255.255 UGH 0 0 0 gpd0
207.15.254.227 172.12.110.1 255.255.255.255 UGH 0 0 0 wlan1
207.15.254.254 10.115.186.212 255.255.255.255 UGH 0 0 0 gpd0
172.12.110.0 0.0.0.0 255.255.128.0 U 9 0 0 wlan1
Я почти уверен, что все это можно сделать автоматически, используя /etc/network/interfaces
с хуками post-up
или чем-то еще, но я просто никогда не удосужился изучить это.
Вы можете проверить свой выход (до и после редактирования маршрута ), подключив браузер к Google с помощью IP-запроса