|
Доступ к серверу с локальной сети по внешнему IP Ubuntu
| ☑ |
0
Alexandrovich
28.04.17
✎
09:27
|
Подскажите, пожалуйста, кто имел дело с цепочками iptables, к веб-серверу редирект сделал, извне доступ есть, а вот если с локалки внешний ip забить в браузер то никакого ответа нету. Может кто то сталкивался, подскажите как решить задачу.
|
|
1
asady
28.04.17
✎
09:39
|
(0) пинг проходит?
|
|
2
Jump
28.04.17
✎
09:39
|
Так и должно быть.
Проще всего решается хождением по имени, а не по адресу.
В локалке резольвите локальный адрес.
Ну или гуглите Hairpin_NAT.
|
|
3
Jump
28.04.17
✎
09:42
|
(1) Пинг с чужого адреса тоже не пройдет.
|
|
4
Провинциальный 1сник
28.04.17
✎
09:46
|
Самое простое, проще чем через iptables - редирект через xinetd. Как-то так:
#cat /etc/xinetd.d/redir_web
service redir_web
{
disable = no
port = 8080
socket_type = stream
protocol = tcp
redirect = 192.168.1.100 80
type = UNLISTED
wait = no
}
|
|
5
Alexandrovich
28.04.17
✎
11:34
|
у меня есть домен, соединение происходит по addres.com:8080, надо цепочку с локальной сети на внешний IP
|
|
6
Jump
28.04.17
✎
14:06
|
(5) Никаких цепочек не надо.
Проблема в другом.
Соединение с внешнего адреса идет через NAT, срабатывает правило проброса, и пакет попадает на нужный сервер, ответ сервер отправляет на ваш локальный адрес, напрямую, поскольку вы в одной локальной сети.
В итоге вы отправили запрос к серверу на один адрес, но не получили от него ответа, вместо этого вы получили какой то ответ с сервера находящегося в вашей локальной сети, но поскольку он никому не нужен он был уничтожен.
|
|
7
Jump
28.04.17
✎
14:10
|
Надо добавить srcnat чтобы роутер менял адрес отправителя на свой, иначе сервер будет слать ответы напрямую, а не через роутер.
|
|
8
Jump
28.04.17
✎
14:15
|
Вот тут есть пример с картинками.
|
|