Networking

為什麼連接到我的 wlan0 介面的設備無法與 eth0 設備通信?

  • January 8, 2016

我正在嘗試使用以下配置設置執行 Raspbian Jessie 的 Raspberry Pi:

  • DHCP 伺服器 (isc-dhcp-server)
  • WLAN 接入點 (hostapd)
  • 應用程序伺服器(埠 80 上的 HTTP 伺服器)

我的問題是連接到 WLAN AP 的設備無法與 Pi 上執行的網路伺服器通信。連接到乙太網埠的設備可以毫無問題地顯示網頁。

當我將筆記型電腦連接到 AP 並嘗試 ping Pi ( 10.10.1.1) 時,它告訴我它已關閉。但是,我確實得到了一個 IP 地址(例如10.10.1.17)。當使用乙太網電纜連接到 Pi 時,我會收到一個 IP 地址並且能夠 ping 通 Pi,10.10.1.1因此在使用有線連接時一切正常。

這是我的配置文件:

/etc/dhcp/dhcp.conf

ddns-update-style none;
authoritative;
log-facility local7;

subnet 10.10.1.0 netmask 255.255.255.0 {
  range 10.10.1.10 10.10.1.100;
  option routers 10.10.1.1;
  default-lease-time 3600;
  max-lease-time 3600;
  option subnet-mask 255.255.255.0;
  option broadcast-address 10.10.1.255;
  option domain-name-servers 8.8.8.8;
  option domain-name "support.muffag.ch";
}

/etc/default/isc-dhcp-server

INTERFACES="eth0 wlan0"

/etc/網路/介面

source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

allow-hotplug eth0
auto eth0
iface eth0 inet static
      address 10.10.1.1
      netmask 255.255.255.0


allow-hotplug wlan0
auto wlan0
iface wlan0 inet static
       address 10.10.1.2
       netmask 255.255.255.0

/etc/hostapd/hostapd.conf

interface=wlan0
driver=rtl871xdrv
ssid=Test AP
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=Raspberry
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

/etc/default/hostapd

DAEMON_CONF="/etc/hostapd/hostapd.conf"

.

我看到其他人在談論網橋,但我不確定如何使用類似的東西。如何確保連接到接入點的設備可以訪問網路伺服器?

如果您的網路伺服器正在偵聽任何 IP 地址的埠 80(不僅僅是10.10.1.1),那麼您可以只使用您連接的介面的網關地址。

但是,在您這樣做之前,您首先需要修復您正在使用的地址範圍。您目前的配置說給10.10.1.0-10.0.1.255和。這是不好的。您要麼需要為兩個介面提供不同的 IP 地址範圍,要麼使用橋接網路。如果您想輕鬆地允許設備與設備進行通信(就好像它們在同一個網路上),您需要使用網橋。eth0 wlan0``wlan0``eth0

對於使用不同的地址範圍,您的/etc/network/interfaces文件應如下所示:

source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

allow-hotplug eth0
auto eth0
iface eth0 inet static
      address 10.10.1.1
      netmask 255.255.255.0


allow-hotplug wlan0
auto wlan0
iface wlan0 inet static
       address 10.10.2.1
       netmask 255.255.255.0

基本上,10.10.1.0-10.10.1.255已分配給eth0,並且10.10.2.0-10.10.2.255已分配給wlan0。您還需要更改/etc/dhcp/dhcp.conf

ddns-update-style none;
authoritative;
log-facility local7;

subnet 10.10.1.0 netmask 255.255.255.0 {
  range 10.10.1.10 10.10.1.100;
  option routers 10.10.1.1;
  default-lease-time 3600;
  max-lease-time 3600;
  option subnet-mask 255.255.255.0;
  option broadcast-address 10.10.1.255;
  option domain-name-servers 8.8.8.8;
  option domain-name "support.muffag.ch";
}

subnet 10.10.2.0 netmask 255.255.255.0 {
  range 10.10.2.10 10.10.2.100;
  option routers 10.10.2.1;
  default-lease-time 3600;
  max-lease-time 3600;
  option subnet-mask 255.255.255.0;
  option broadcast-address 10.10.2.255;
  option domain-name-servers 8.8.8.8;
  option domain-name "support.muffag.ch";
}

添加了10.10.2.0/24網路部分。

此時,您應該能夠連接到網路伺服器。如果您連接到eth0,則需要使用10.10.1.1; 如果您連接到wlan0,則需要使用10.10.2.1.

引用自:https://unix.stackexchange.com/questions/254081