перенаправление портов к устройству Ардуино в домашней сети

У меня есть домашний сервер рабочий Kubuntu 14.04. Это служит веб-странице внешнему миру и предоставляет доступ в Интернет всем устройствам на моей домашней LAN. У меня есть устройство Ардуино с приложением веб-сервера для создания отчетов о температуре. Я хочу использовать свой телефон на базе Android для соединения с веб-страницей Ардуино.

Я использую UFW для конфигурирования моего брандмауэра и хочу передать запросы к своему домашнему порту использования сервера 225 к веб-странице Ардуино, настроенной для слушания порта 225.

Я могу достигнуть Ардуино отовсюду на моей домашней LAN, но не с внешней стороны. Я исследовал и попробовал много вещей, но неудачно. Сайты как "проверка, Ваши порты" сообщают, что порт 225 закрывается.

Любая справка значительно ценится!

1
задан 20 August 2015 в 07:55

1 ответ

Попробуйте это

Проверьте сначала с cat /proc/sys/net/ipv4/ip_forward ответ 0 или 1. Если 0 команда выполнения

 sudo echo 1 >/proc/sys/net/ipv4/ip_forward

Это включит IP передачу

Затем отредактируйте и добавьте перед разделом фильтра в /etc/ufw/before.rules(вершина файла):

 sudo nano etc/ufw/before.rules


*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp --dport 225 -j DNAT --to-destination ip_address_of_Arduino
COMMIT

Затем перезапуск ufw.

Проблемой является место правила.

Ваш *nat таблица находится в начале и не может показать снова в конце файла. Переместите свое правило от line 82 belowe PREROUTING

Должен быть похожим на это

*nat
:PREROUTING ACCEPT [0:0]
# Port fw
-A PREROUTING -i eth0 -p tcp --dport 225 -j DNAT --to-destination      ip_address_of_Arduino

:POSTROUTING ACCEPT [0:0] 
# Forward traffic from eth1 through eth0. 
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE 

# don't delete the 'COMMIT' line or these rules won't be processed 
COMMIT

После этой таблицы запуска *filter и остальная часть ufw конфигурация.

1
ответ дан 7 December 2019 в 16:11

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

Похожие вопросы: