Raspbian Jessie를 실행하는 Raspberry Pi에서 다음 구성 설정을 사용하려고 합니다.
- DHCP 서버(isc-dhcp-server)
- WLAN 액세스 포인트(hostapd)
- 애플리케이션 서버(포트 80의 HTTP 서버)
내 문제는 WLAN AP에 연결된 장치가 Pi에서 실행되는 웹 서버와 통신할 수 없다는 것입니다. 이더넷 포트에 연결된 장치는 문제 없이 웹 페이지를 표시할 수 있습니다.
내 노트북을 AP에 연결하고 Pi( 10.10.1.1
)에 ping을 시도하면 다운되었다는 메시지가 나타납니다. 그래도 IP 주소(예 10.10.1.17
: )를 얻습니다. 이더넷 케이블을 사용하여 Pi에 연결하면 IP 주소를 받고 Pi에 ping을 보낼 수 있으므로 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-서버
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"
.
다른 사람들이 브릿지에 대해 이야기하는 것을 보지만 그런 것을 어떻게 사용하는지 잘 모르겠습니다. 액세스 포인트에 연결된 장치가 네트워크 서버에 액세스할 수 있는지 어떻게 확인합니까?
답변1
웹 서버가 10.10.1.1
포트 80뿐만 아니라 모든 IP 주소를 수신하는 경우 연결된 인터페이스의 게이트웨이 주소를 사용할 수 있습니다.
하지만 이를 수행하기 전에 먼저 사용 중인 주소 범위를 수정해야 합니다. 현재 구성에 10.10.1.0-10.0.1.255
다음 과 같은 내용이 나와 있습니다.eth0
그리고 wlan0
. 이것은 좋지 않습니다. 두 인터페이스에 서로 다른 IP 주소 범위를 제공하거나 브리지된 네트워크를 사용해야 합니다. 장치가 동일한 네트워크에 있는 것처럼 쉽게 장치 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
.
답변2
인터페이스 간에 패킷을 전달할 수 있는 구성 단계를 놓친 것 같습니다.
sysctl -w net.ipv4.ip_forward=1
이것이 효과가 있음을 확인한 후에는 /etc/sysctl.conf
자신의 파일을 편집하거나 추가하여 /etc/sysctl.d/
변경 사항을 영구적으로 적용하십시오.