Точка доступа hostapd появится только при подключении Ethernet
Это сводило меня с ума весь день. Я использую свежую Ubuntu 15.10 на odroid UX4 & Wifi Module 4 (чипсет RT5572N)
То, что я хочу: автоматически запускать горячую точку при загрузке + возможность горячего подключения кабеля Ethernet всякий раз, когда мне нужен временный доступ в Интернет, не прерывая горячую точку.
Точно следовал гиду здесь:
http://odroid.com/dokuwiki/doku.php?id=en:xu4_wlan_ap http://odroid.com/dokuwiki/doku.php?id=en:xu4_wlan_ap
Все казалось нормальным, пока я не заметил, что ap/ сеть создается, только если я подключаю кабель Ethernet. Так:
Так что холодная загрузка и нет Ethernet -> нет точки доступа. Как только я подключаю кабель Ethernet, появляется горячая точка, и все, кажется, работает отлично. Я могу подключиться к точке доступа с другого компьютера, получить доступ к внешнему интернету и т. Д. Я также могу отключить Ethernet, и все продолжает работать нормально. Как только я перезагружаюсь, это больше не будет работать. Так что по какой-то странной причине подключение к сети Ethernet является триггером.
Мое подозрение в том, что сетевой менеджер является виновником как-то.
Я пытался добавить allow-hotplug eth0
к файлу интерфейсов (как предложено в одном сообщении на форуме), но без разницы.
Изменить: просто чтобы уточнить. Хост-компьютер представляет собой odroid ux4, который будет использоваться в полевых условиях. Он запускает веб-сервер (среди прочего) и должен иметь возможность работать полностью автономно (без интернета). Тем не менее, некоторые моменты (например, для обновлений и т. Д.) Я просто хотел бы иметь возможность подключить кабель Ethernet (или USB-модем в этом отношении), а затем прозрачно иметь доступ к более широкому Интернету через Wi-Fi соединение. Таким образом, в этом случае система должна просто прозрачно пересылать запросы в Интернет через Wi-Fi на одно из проводных подключений.
Мой сетевой менеджер conf:
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq
[ifupdown]
managed=true
[keyfile]
unmanaged-devices=mac:7c:dd:90:86:96:8e -> usb dongle
/ и т.д. / сеть / интерфейсы:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0
auto eth0
iface eth0 inet dhcp
hostapd.conf (версия 2.5)
# Interface
interface=wlan0
# driver
driver=nl80211
# Logging
logger_syslog=-1
logger_syslog_level=3
logger_stdout=-1
logger_stdout_level=2
# CTRL-Interface
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
# WLAN
country_code=KR
ssid=orangspy
hw_mode=a
channel=40
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
preamble=1
# WPA2
wpa=2 # WPA2 only
wpa_passphrase=xxxx
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=3 # 1=wpa, 2=wep, 3=both
macaddr_acl=0
wmm_enabled=1
eap_reauth_period=360000
fragm_threshold=2346
rsn_preauth=1
rsn_preauth_interfaces=wlan0
wpa_group_rekey=600
wpa_ptk_rekey=600
wpa_gmk_rekey=86400
# N-WLAN
ieee80211n=1
ht_capab=[HT20+][SHORT-GI-20][DSSS_CCK-20][TX-STBC]
require_ht=0
obss_interval=0
/etc/rc.local
Примечание: большая часть информации, которую я нахожу в Интернете, использует bridge-utils вместо команд iptables, чтобы заставить пересылку трафика работать. Не знаю, что лучшее решение.
if [ -f /aafirstboot ]; then
/aafirstboot start
fi
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
exit 0
Ifconfig
eth0 Link encap:Ethernet HWaddr 00:1e:06:31:13:a0
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21e:6ff:fe31:13a0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1216 errors:0 dropped:0 overruns:0 frame:0
TX packets:714 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:265823 (265.8 KB) TX bytes:606661 (606.6 KB)
ip6tnl0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:1452 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:870 errors:0 dropped:0 overruns:0 frame:0
TX packets:870 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:71560 (71.5 KB) TX bytes:71560 (71.5 KB)
sit0 Link encap:IPv6-in-IPv4
UP RUNNING NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr 7c:dd:90:86:96:8e
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::7edd:90ff:fe86:968e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:9734 (9.7 KB)
3 ответа
Я обнаружил, что в этой ситуации интерфейс wlan0 будет доступен только после того, как eth0 достигнет значения тайм-аута, установленного в /etc/dhcp/dhclient.conf. Так, например, установка времени ожидания равным 10 сделает wlan0 доступным после 10 секунд попытки получить ip для eth0.
После лога поиска и поиска в файлах конфигурации я наткнулся на отличный скрипт create_ap, косо:
https://github.com/oblique/create_ap
Это позволило избежать путаницы с файлами конфигурации и работало из коробки.
Что касается этого конкретного вопроса о прозрачности общего доступа к eth0 в Wi-Fi. Посмотрите эту проблему github для предлагаемого решения (пока не смог попробовать это):
Что именно вы пытаетесь достичь с помощью этой точки доступа? Вы используете какой-то веб-сервер на компьютере, создающем точку доступа?
Первая ссылка, которую вы указали, объясняет, как перенаправить трафик, полученный на wlan0, в Интернет через eth0. Я не был бы слишком удивлен, если бы тогда ваша точка доступа не работала, когда Ubuntu не может ничего достичь на этом последнем интерфейсе. Я бы попробовал пропустить
Настройка переадресации интернета по WIFI от eth0
часть вашего урока.