Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.UNIX.BSD
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.UNIX.BSD с датами от 18 Jan 11 22:51:00 до 16 Sep 24 17:28:15, всего сообщений: 10763
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 2302 из 10763 ===================================== RU.UNIX.BSD =
От   : Vassily Kiryanov                 2:5054/36          29 Nov 14 13:44:09
Кому : All                                                 29 Nov 14 13:44:09
Тема : отличия ядерного и "безъядерного" NAT
FGHI : area://RU.UNIX.BSD?msgid=2:5054/36+5479d6e3
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.UNIX.BSD?msgid=grosbein.net+52af4a5a
==============================================================================
Hi All!

Где-то ошибаюсь в настройке in-kernel NAT, хотя на этой-же системе два других in-kernel NAT работают безупречно. Подтолкните в нужную сторону, пожалуйста.

Hужно мне для части клиентов локалки разрешить прямой выход на некоторые IP в интернете, для чего использую NAT и таблицы.

назначаю номера:
Table_Clients_TEST=19
Table_Servers_TEST=29

заполняю таблицы:
TESTserv='8.8.8.8'
TESTclnt='10.1.1.159'

немного нестандартно конфигурю natd:
  alias_address white1_my
  in_port  8667
  out_port 8669
  same_ports yes

заполняю правила файрвола:
# из интернета до обработки в natd
ipfw add 5008 divert 8667 ip from table($Table_Servers_TEST) to ${white1_my} in

# из интернета после обработки в natd но ещё "на входе"
ipfw add 5511 allow       ip from table($Table_Servers_TEST) to table($Table_Clients_TEST) in

# из интернета после обработки в natd но уже "на выходе"
ipfw add 5512 allow       ip from table($Table_Servers_TEST) to table($Table_Clients_TEST) out via ${if_gray0}

# из локалки наружу, до обработки natd
ipfw add 5513 divert 8669 ip from table($Table_Clients_TEST) to table($Table_Servers_TEST) in  via ${if_gray0}

# из локалки наружу, после обработки natd
ipfw add 5514 allow ip from ${white1_my} to table($Table_Servers_TEST)
 in  via ${if_gray0}

ну и дальше правило с fwd отправит пакет в один из трёх туннелей (ну или потребуется ещё одно разрешающее правило, если отправлять по роутингу)

Работает прекрасно, и было-бы грех жаловаться, но решил переходить на in-kernel NAT, заменяю правила 5008 и 5513 на
ipfw add 5008 nat 1 ip from table($Table_Servers_TEST) to ${white1_my} in
ipfw add 5513 nat 1 ip from table($Table_Clients_TEST) to table($Table_Servers_TEST) in  via ${if_gray0}

конфигурацию nat задаю как:
ipfw nat 1 config ip ${white1_my} same_ports redirect_port tcp jail_proxy:3128 3128

и работать оно перестаёт, source-IP в пакетах не заменяется с TESTclnt на white1_my ну и все остальные правила соответсвенно оказываются "не при делах".
А сами пакеты после этого с тем-же серым исходным IP пытаются уйти по роутингу.


Всего хорошего.              "За верную и прибыльную дружбу!" (c) Яго.
                Vassily
---
* Origin: И бьется против геноцида Вася, и против Васи геноцид. (2:5054/36)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.099520 секунды