Позвольте мне снабдить предисловием путем высказывания, что у меня есть очень мало опыта в сетевой стороне вещей.
Контекст: у Меня есть машина под управлением Ubuntu 18.04 LTS (бионический-dev), который размещает веб-страницу на порте 8050. Эта машина также размещает горячую точку, установленное использование:
nmcli device wifi hotspot ifname wl1ps0 ssid QuickHotspot band bg channel 6 password "password"
Бионический-dev подключен к моей локальной сети через Ethernet, и я могу достигнуть страницы на 8 050 путем движения в http://bionic-dev:8050/ от устройства, также подключенного к моей локальной сети.
Вопрос: Как я могу достигнуть страницы на 8 050 от устройства, подключенного к QuickHotspot?
Мой наклон состоит в том, чтобы настроить перенаправление портов некоторого вида, но все примеры я могу найти маршрут к машине ниже маршрутизатора, делающего передачу. В этом случае маршрутизатор должен передать своему собственному порту 8050.
Я думаю, что решение связало что-то с обновлением iptables, но поскольку я сказал, прежде чем сети довольно незнакомы мне.
Я смог решить проблему путем выполнения следующего:
nmcli device disconnect wlp1s0
iptables -F
iptables -t nat -F
nmcli device wifi hotspot ifname wlp1s0 ssid QuickHotspot password "password"
iptables -t nat -A PREROUTING -s 10.42.0.0 -p tcp -j REDIRECT --to-ports 8050
sysctl -w net.ipv4.ip_forward=1
Это разъединяет горячую точку, сбрасывает iptables, перезапускает hostpot, создает передающее правило и затем позволяет передать. Я опустил аргументы для определения полосы или канала в горячей точке намеренно (это заставляло команду иногда зависать по некоторым причинам). Команда nmcli создает некоторые iptable правила сами по себе при вызове, который является, почему я разъединил и повторно подключил интерфейс горячей точки.
Я затем перезапустил веб-сервер. (Для полноты документации это - использование сервера жемчуга Mojolicious:: Облегченный. Размещенная страница также делает запросы HTTP к другим страницам на www.)
Я смог найти это решение при помощи этой страницы:
https://abidmujtaba.blogspot.com/2016/07/ubuntu-create-wifi-hotspot-access-point.html
Использовать ip -a
найти IP-адрес присвоенным wl1ps0.
Удостоверьтесь, что веб-сервер также слушает в этом интерфейсе: lsof -i :8050
. В противном случае обновите свою апачскую конфигурацию (вероятно,/etc/apache2/sites-enabled/000-default.conf). Отметьте, если горячая точка была создана после того, как веб-сервер был запущен, Вы, возможно, просто должны перезапустить его, чтобы заставить его слушать на wl1ps0 также: sudo service apache2 restart
Затем поскольку системы, подключенные к QuickHotspot, используют http://:8050/
Это, вероятно, легче и более безопасно, чем включение перенаправления портов.