Точка доступа 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 для предлагаемого решения (пока не смог попробовать это):

https://github.com/oblique/create_ap/issues/149

Что именно вы пытаетесь достичь с помощью этой точки доступа? Вы используете какой-то веб-сервер на компьютере, создающем точку доступа?

Первая ссылка, которую вы указали, объясняет, как перенаправить трафик, полученный на wlan0, в Интернет через eth0. Я не был бы слишком удивлен, если бы тогда ваша точка доступа не работала, когда Ubuntu не может ничего достичь на этом последнем интерфейсе. Я бы попробовал пропустить

Настройка переадресации интернета по WIFI от eth0

часть вашего урока.

Другие вопросы по тегам