Я пытаюсь настроить сеть, в которой несколько устройств смогут подключаться друг к другу. Все устройства работают под управлением Linux. Настройка сети включает в себя:
Одну точку доступа WiFi (AP).
Несколько клиентов WiFi AP.
Одно устройство подключено через кабель Ethernet к хосту точки доступа Wi-Fi.
Узлы Wi-Fi могут подключаться друг к другу, а устройства подключаются друг к другу. через Ethernet также могут соединяться друг с другом. Однако клиент Ethernet не может подключиться к клиенту Wi-Fi AP. В частности:
Клиент Ethernet может подключиться к шлюзу сети Wi-Fi по умолчанию.
Клиент WiFi может подключиться к Ethernet-соединению. шлюз по умолчанию.
Если я переключаю точку доступа между устройствами Wi-Fi (т. е. клиент Ethernet подключен к клиенту точки доступа Wi-Fi), все работает правильно, и все устройства могут пинговать друг друга. Это говорит о том, что шлюз сети Wi-Fi по умолчанию всегда доступен.
Предпринятые шаги
Создайте точку доступа Wi-Fi и подключите клиентское устройство:
sudo nmcli con add type wifi ifname wlan1 con-name my-access-point ssid my-access-point mode ap
sudo nmcli con mod my-access-point 802-11-wireless.mode ap 802-11-wireless.band bg
sudo nmcli con mod my-access-point ipv4.method shared ipv4.addresses "10.10.0.0/16"
sudo nmcli con mod my-access-point wifi-sec.key-mgmt wpa-psk
sudo nmcli con mod my-access-point wifi-sec.psk "password123"
sudo nmcli con mod my-access-point autoconnect yes
sudo nmcli con up my-access-point
Подключение клиента AP (назначенный IP-адрес: 10.10.0.162):
< pre class="lang-bash Prettyprint-override">
Проверьте IP-адрес хоста Ethernet точки доступа Wi-Fi: ping 10.0.0.0 (успех)
Сводка проблемы
Хотя узлы Wi-Fi и устройства, подключенные к Ethernet, могут обмениваться данными в своих соответствующих сетях, перекрестная связь между клиентом Ethernet и клиентом точки доступа Wi-Fi не работает. Несмотря на успешную доступность шлюзов по умолчанию с обеих сторон, прямая связь проблематична, если роль точки доступа не переключается между устройствами Wi-Fi. Мы будем очень признательны за любые идеи или решения, обеспечивающие бесперебойное соединение между клиентом Ethernet и клиентом точки доступа Wi-Fi.
[img]https://i.sstatic .net/MLuJSgpB.png[/img]
Я пытаюсь настроить сеть, в которой несколько устройств смогут подключаться друг к другу. Все устройства работают под управлением Linux. Настройка сети включает в себя: [list] [*]Одну точку доступа WiFi (AP). [*]Несколько клиентов WiFi AP. [*]Одно устройство подключено через кабель Ethernet к хосту точки доступа Wi-Fi. [/list] Узлы Wi-Fi могут подключаться друг к другу, а устройства подключаются друг к другу. через Ethernet также могут соединяться друг с другом. Однако клиент Ethernet не может подключиться к клиенту Wi-Fi AP. В частности: [list] [*]Клиент Ethernet может подключиться к шлюзу сети Wi-Fi по умолчанию. [*]Клиент WiFi может подключиться к Ethernet-соединению. шлюз по умолчанию. [*]Если я переключаю точку доступа между устройствами Wi-Fi (т. е. клиент Ethernet подключен к клиенту точки доступа Wi-Fi), все работает правильно, и все устройства могут пинговать друг друга. Это говорит о том, что шлюз сети Wi-Fi по умолчанию всегда доступен. [/list] Предпринятые шаги [list] [*][b]Создайте точку доступа Wi-Fi и подключите клиентское устройство:[/b] [list] [b]Создание узла точки доступа :[/b] [code]sudo nmcli con add type wifi ifname wlan1 con-name my-access-point ssid my-access-point mode ap sudo nmcli con mod my-access-point 802-11-wireless.mode ap 802-11-wireless.band bg sudo nmcli con mod my-access-point ipv4.method shared ipv4.addresses "10.10.0.0/16" sudo nmcli con mod my-access-point wifi-sec.key-mgmt wpa-psk sudo nmcli con mod my-access-point wifi-sec.psk "password123" sudo nmcli con mod my-access-point autoconnect yes sudo nmcli con up my-access-point [/code]
[*][b]Подключение клиента AP (назначенный IP-адрес: 10.10.0.162):[/b] < pre class="lang-bash Prettyprint-override">[code]sudo nmcli device wifi connect my-access-point password "password123" ifname wlan1 [/code]
[/list]
[*][b]Создайте и подключите интерфейс Ethernet: [list] Создайте интерфейс Ethernet на хост-устройстве точки доступа:[/b] [code]sudo nmcli connection add type ethernet ifname eth0 con-name my-wired-connection ipv4.method shared ipv4.addresses '10.0.0.0/30' sudo nmcli connection up my-wired-connection [/code]
[*][b]Подключите другое устройство через кабель Ethernet (назначенный IP-адрес: 10.0.0.2):[/b]
Подключается через графический интерфейс [/list]
[*][b]Настройка переадресации сети между устройствами:[/b] [list] [b]Включить IP Пересылка:[/b] [code]sudo sysctl -w net.ipv4.ip_forward=1 [/code]
[*][b]Настройте NAT на хост-устройстве точки доступа:[/b] [code]sudo iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE sudo iptables -A FORWARD -i wlan1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i eth0 -o wlan1 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT [/code]
[/list]
[*][b]Обновить IP-маршруты на конечных устройствах:
[*]Обновление IP-маршрутов на конечных устройствах:
[*]Обновление IP-маршрутов на конечных устройствах:
[*]Обновление IP-маршрутов на конечных устройствах:
[*]Обновление IP-маршрутов на конечных устройствах: [list] Клиент Ethernet:[/b] [/list] [code]sudo ip route add 10.10.0.0/16 via 10.0.0.0 [/code] [list] [*][b]Клиентское устройство точки доступа:[/b] [/list] [code]sudo ip route add 10.0.0.0/30 via 10.10.0.0 [/code]
Проверьте IP-адрес узла точки доступа Wi-Fi Ethernet: ping 10.0.0.0 (успех) [*]Проверка IP-адреса сети Wi-Fi узла точки доступа Wi-Fi: ping 10.10.0.0 (успех) [*]Проверка IP-адреса клиента точки доступа Wi-Fi: ping 10.10.0.162 (сбой) [/list]
[*][b]Хост точки доступа Wi-Fi:[/b] [list] < li>Проверка IP-адреса клиента Ethernet: ping 10.0.0.2 (успех) [*]Проверка IP-адреса клиента точки доступа Wi-Fi: ping 10.10.0.162 (успех) [/list]
[*][b]Клиент точки доступа Wi-Fi:[/b] [list] Проверьте Ethernet IP-адрес клиента: ping 10.10.0.2 (ошибка) [*]Проверьте IP-адрес хоста Ethernet точки доступа Wi-Fi: ping 10.0.0.0 (успех) [/list]
[/list] Сводка проблемы Хотя узлы Wi-Fi и устройства, подключенные к Ethernet, могут обмениваться данными в своих соответствующих сетях, перекрестная связь между клиентом Ethernet и клиентом точки доступа Wi-Fi не работает. Несмотря на успешную доступность шлюзов по умолчанию с обеих сторон, прямая связь проблематична, если роль точки доступа не переключается между устройствами Wi-Fi. Мы будем очень признательны за любые идеи или решения, обеспечивающие бесперебойное соединение между клиентом Ethernet и клиентом точки доступа Wi-Fi. [img]https://i.sstatic .net/MLuJSgpB.png[/img]