Страница 1 из 3
не получается natd -redirect_port
Добавлено: 2007-10-22 12:00:46
r0man_
Нужно локальный web сервер наружу выпустить. 8123 - порт наружу, 192.168.0.120:80 - внутренний web сервер
Читал здесь
http://www.lissyara.su/?id=1127 и здесь
http://www.lissyara.su/?id=1159
Однако у меня не работает, где-то что-то упустил:(
Запускаю нат:
Код: Выделить всё
#natd -m -s -n ed0 -redirect_port tcp 192.168.0.120:80 8123
ed0 - внешний интерфейс
Конфиги:
Код: Выделить всё
# ipfw show
00050 0 0 divert 8668 ip from 192.168.0.120 to any out via ed0
00055 0 0 divert 8668 ip from any to 1.1.1.1 in via ed0
00100 59171 8649127 allow ip from any to any
1.1.1.1 - внешний ip
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 12:32:57
dikens3
forwarding включён? (gateway_enable="YES")
P.S. Странно что у тебя ни в один NATD ни одного пакета нет.
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 12:36:13
Dmitriy.A
r0man_ писал(а):Нужно локальный web сервер наружу выпустить. 8123 - порт наружу, 192.168.0.120:80 - внутренний web сервер
Читал здесь
http://www.lissyara.su/?id=1127 и здесь
http://www.lissyara.su/?id=1159
Однако у меня не работает, где-то что-то упустил:(
Запускаю нат:
#natd -m -s -n ed0 -redirect_port tcp 192.168.0.120:80 8123
ed0 - внешний интерфейс
Конфиги:
# ipfw show
00050 0 0 divert 8668 ip from 192.168.0.120 to any out via ed0
00055 0 0 divert 8668 ip from any to 1.1.1.1 in via ed0
00100 59171 8649127 allow ip from any to any
1.1.1.1 - внешний ip
забей поюзай balance
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 13:02:45
r0man_
в rc.conf gateway_enable="YES" присутствует
еще где-то нужно что-нить добавлять для форвардинга?
На самом деле 55-е правило работает, а 50-е нет:
Код: Выделить всё
00050 0 0 divert 8668 log logamount 100 ip from 192.168.0.120 to any out via ed0
00055 3 144 divert 8668 log logamount 100 ip from any to 1.1.1.1 dst-port 8123 in via ed0
вот что выдает natd
Код: Выделить всё
#natd -m -s -n ed0 -redirect_port tcp 192.168.0.120:80 8123 -v
natd[827]: Aliasing to 1.1.1.1, mtu 1500 bytes
In {default}[TCP] [TCP] 172.00.01.01:2510 -> 1.1.1.1:8123 aliased to
[TCP] 172.00.01.01:2510 -> 192.168.0.120:80
In {default}[TCP] [TCP] 172.00.01.01:2510 -> 1.1.1.1:8123 aliased to
[TCP] 172.00.01.01:2510 -> 192.168.0.120:80
In {default}[TCP] [TCP] 172.00.01.01:2510 -> 1.1.1.1:8123 aliased to
[TCP] 172.00.01.01:2510 -> 192.168.0.120:80
Почему-то 50-е правило не работает
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 13:31:20
dikens3
Это весь файрвол? Или ты считаешь что только это нужно для решения твоего вопроса?
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 14:01:06
r0man_
До недавнего времени, так и считал, но после многих безуспешных попыток уже считаю по-другому.
И все-таки, как будет правильно натить для моего случая?
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 14:03:34
schizoid
а divert в ядре скомпилен?
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 14:23:42
r0man_
schizoid писал(а):а divert в ядре скомпилен?
Да.
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 19:50:44
dikens3
ipfw -ad list в студию.
В правилах всё нормально. Скорее всего с расположением правил намудрил.
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 19:59:01
abanamat
натд умеет пробрасывать 80 -> 80, 25 -> 25; а 8123 -> 80 он не может. факт.
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 20:34:34
dikens3
Ну перед фактом не поспоришь, вопросов нет. :-)
Только смущает man natd, забыли поправить наверное.
Код: Выделить всё
For example, the argument
tcp inside1:telnet 6666
means that incoming TCP packets destined for port 6666 on
this machine will be sent to the telnet port on the inside1
machine.
tcp inside2:2300-2399 3300-3399
will redirect incoming connections on ports 3300-3399 to host
inside2, ports 2300-2399. The mapping is 1:1 meaning port
3300 maps to 2300, 3301 maps to 2301, etc.
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 21:07:18
abanamat
угу. Сам-то пробовал? Я вот пробовал. 2 раза за последний год тупил по часу - почему это у меня согласно ману не работает? Наверно тупой сильно. Надо мозги допилить.
--
ну в смысле входящие-то пакеты он пробросит. А дальше? Обратка после натда идет с тем портом, который внутре, а не с тем, который охота получить.
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 21:26:49
dikens3
Конечно не пробовал, если бы пробовал тоже самое наверное сказал.
Re: не получается natd -redirect_port
Добавлено: 2007-10-22 21:29:42
abanamat
dikens3 писал(а):Конечно не пробовал, если бы пробовал тоже самое наверное сказал.
попробуй.
Re: не получается natd -redirect_port
Добавлено: 2007-10-23 7:50:47
r0man_
abanamat писал(а):натд умеет пробрасывать 80 -> 80, 25 -> 25; а 8123 -> 80 он не может. факт.
Здесь написано, что получилось
http://www.lissyara.su/?id=1159
Re: не получается natd -redirect_port
Добавлено: 2007-10-23 8:13:24
r0man_
dikens3 писал(а):ipfw -ad list в студию.
В правилах всё нормально. Скорее всего с расположением правил намудрил.
Код: Выделить всё
ipfw show
00050 0 0 divert 8668 ip from 192.168.0.120 to any out via ed0
00055 3 144 divert 8668 ip from any to 1.1.1.1 dst-port 8123 in via ed0
00100 183316938 93409181874 allow ip from any to any
ed0 - внешний интерфейс
Re: не получается natd -redirect_port
Добавлено: 2007-10-23 8:58:54
vygov
Покажи конфиг фаера.
Re: не получается natd -redirect_port
Добавлено: 2007-10-23 9:33:00
r0man_
vygov писал(а):Покажи конфиг фаера.
Код: Выделить всё
# ipfw show
00050 0 0 divert 8668 ip from 192.168.0.120 to any out via ed0
00055 0 0 divert 8668 ip from any to 1.1.1.1 in via ed0
00100 59171 8649127 allow ip from any to any
это и есть конфиг, больше никаких правил нет
Re: не получается natd -redirect_port
Добавлено: 2007-10-23 10:22:57
vygov
Добавь првило сразу после divert:
Код: Выделить всё
$cmd add allow tcp from any to 192.168.0.120 80 in recv xl0
$cmd add allow tcp from any to 192.168.0.120 80 out via fxp0
Re: не получается natd -redirect_port
Добавлено: 2007-10-23 10:31:31
vygov
Да и divert, честно говоря, странный. почему бы просто не написать:
Код: Выделить всё
$cmd add divert natd ip from any to any via $inet_if
$cmd add divert natd ip from any to any via $local_if
Вторую строчку можешь закомментить.
Re: не получается natd -redirect_port
Добавлено: 2007-10-23 10:43:27
BAV_Lug
abanamat писал(а):натд умеет пробрасывать 80 -> 80, 25 -> 25; а 8123 -> 80 он не может. факт.
Не порите чушь, уважаемый. Все он умеет. И это не однократно проверено.
Re: не получается natd -redirect_port
Добавлено: 2007-10-23 11:57:17
r0man_
vygov писал(а):Добавь првило сразу после divert:
$cmd add allow tcp from any to 192.168.0.120 80 in recv xl0
$cmd add allow tcp from any to 192.168.0.120 80 out via fxp0
кто из интерфейсов внешний а кто внутр.?
Re: не получается natd -redirect_port
Добавлено: 2007-10-23 12:04:23
dikens3
Вобщем фаер должен быть такой:
Код: Выделить всё
00050 0 0 divert 8668 ip from any to any in via ed0
00075 0 0 divert 8668 ip from any to any out via ed0
00100 59171 8649127 allow ip from any to any
Для проверки самое оно.
Если не работает что-то, клади сюда вывод.
Проверь запущен ли natd.
покажи вывод:
Код: Выделить всё
sysctl net.inet.ip.forwarding
sysctl net.inet.ip.fw.enable
Re: не получается natd -redirect_port
Добавлено: 2007-10-23 13:34:08
vygov
кто из интерфейсов внешний а кто внутр.?
Блин, свои интефейсы воткнул. Первый внешний, второй внутренний.
00050 0 0 divert 8668 ip from any to any in via ed0
00075 0 0 divert 8668 ip from any to any out via ed0
А не проще просто: divert 8668 ip from any to any via ed0 ?
Re: не получается natd -redirect_port
Добавлено: 2007-10-23 13:45:50
dikens3
Проще, но так понятнее что и куда приходит и как уходит(натится/разначивается).