У меня есть следующая сеть:
· веб-сервер openbsd 5.0 (LAN)
· windows 7 (LAN)
· маршрутизатор, предоставленный моим интернет-провайдером (LAN, WAN)
· мобильный телефон не подключен к сети (WAN)
ОБНОВЛЯТЬ
Под LAN я подразумеваю домашнюю сеть с адресами 192.168.1.x, поэтому здесь есть openbsd и windows. Под WAN я подразумеваю Интернет или публичный IP. При этом маршрутизатор является точкой соединения между Интернетом и моим домом.
Мое веб-приложение написано на python и использует cherrypy в качестве веб-фреймворка. С машины Windows я могу видеть веб-страницы и переходить с домашней страницы на все страницы, обслуживаемые openbsd. Это означает, что все отлично работает с веб-запросами домашней сети.
Следующий шаг, который я сделал, это открыл порты маршрутизатора, чтобы получить доступ к веб-серверу извне. Перед тем, как перенаправить на машину с OpenBSD, я провел тест, используя мою машину с Windows в качестве веб-сервера, и все отлично работает, используя мой мобильный телефон в качестве клиента (это означает, что из Интернета можно получить доступ к машине с Windows). Изменение перенаправления с Windows на сервер OpenBSD сломало доступ к Интернету, но из домашней сети все в порядке.
Итак, моя проблема в том, что я не могу получить доступ к openbsd из интернета. Я не знаю, что происходит, но я думал, что openbsd отклоняет внешние соединения. Я погуглил об этом и нашел несколько ссылок о pf, но он отключен на моем openbsd. Я также нашел, как получить информацию с помощью инструмента netstat, и когда я делаю запрос из интернета, ничего не отображается, но когда запросы идут из домашней сети, отображаются все соединения.
У меня есть вопросы:
- Как узнать, есть ли входящие соединения из Интернета?
- Есть ли какой-либо инструмент, кроме pf, который может блокировать внешние соединения?
Заранее спасибо.
решение1
Попробуйте
netstat -tunl
чтобы показать все прослушиваемые сокеты (я думаю, это должно работать на openbsd), вы можете проверить, запущен ли веб-сервер (порт 80). Как сказано выше, дважды проверьте трансляцию NAT (на вашем маршрутизаторе -> 80 -> openbsdip:80
Проверьте еще раз насчет pf, возможно, у вас есть какие-то правила серверного брандмауэра (запрещающие все из внешней локальной сети)
решение2
Проблема в порте, используемом на маршрутизаторе. Номер 8080 должен быть зарезервирован для чего-то, чего я не знаю. Я изменил его на 8010 и все работает правильно.