Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
AMG
Зарегистрирован: 13.01.2003 Сообщения: 26 Откуда: Москва
|
Добавлено: Чт Дек 04 2003 19:57 Заголовок сообщения: как направить ftp и pop3 трафик через NAT? |
|
|
Добрый день всем!
Вопрос в следующем - на сервере (FREEBSD 4.стоит SQUID, http и icq идет через него, это меня вполне устраивает. Но хочется, чтобы FTP и POP3 напрямую ходили в мир (например, через НАТ)
в правилах разрешен коннект только к самой проксе, и внутр. почтовому серверу.
Как это сделать с помощью ipfw и natd?
поднял natd-enable="YES"
natd_interface="интерфейс в мир"
Подскажите, плиз, какие нужно внести правила, чтобы это нормально заработало???
какие только правила ни пробовал, ничего не выходит.
Большое спасибо! |
|
Вернуться к началу |
|
|
TechNoir
Зарегистрирован: 22.08.2003 Сообщения: 1632 Откуда: Moscou
|
Добавлено: Чт Дек 04 2003 20:45 Заголовок сообщения: |
|
|
У меня FireWall сконфигурирован так, что абсолютно все может идти через NAT.
Ты же ведь просто NAT можешь поставить ?
Замечательно!
Но у меня еще и прокси сервер стоит, "слушает" свой порт.
Так я например в такой конфигурации могу браузер настраивать ходить через прокси или ходить через NAT/
Ты же ведь тоже можешь Proxy поставить.
Теперь просто разреши доступ из локальной сети (через тот интерфейс, что у тебя в локальную сеть смотрит) прохождение пакетов только на порт прокси (3124 - по моему)
И будет это доступ только через прокси.
Хочешь почту, дай также доступ на порты 25 и 110.
Хочешь ftp дай доступ на 21 порт.
Я так думаю.
ipfw add allow tcp from ${local_net} to any 22,25,110,3124 in via ${iflocal}
ipfw add allow tcp from any to ${local_net} out via ${iflocal}.
Должно получиться! _________________ Vive la Russie! |
|
Вернуться к началу |
|
|
AMG
Зарегистрирован: 13.01.2003 Сообщения: 26 Откуда: Москва
|
Добавлено: Пт Дек 05 2003 14:15 Заголовок сообщения: Не получается так! |
|
|
Пробовал я уже так... Нифига не получается, эти правила 440,540,640
по ним трафик даже не идет, видимо где-то раньше режется...
вот правила по этой части
00340 allow udp from 192.168.0.0/16 to me 53 via xl0
00350 allow ip from me to any
00410 allow tcp from any to me 25
00420 allow tcp from 192.168.0.0/16 to me 110 via xl0
00430 allow tcp from 192.168.0.0/16 to me 3128 via xl0
00440 divert 8668 ip from 192.168.0.0/16 to any out xmit dc0 (внеш.) Заворачиваю весь траффик на НАТ
00540 allow tcp from 192.168.0.0/16 to any 21,110 in recv xl0(внутр) Этими разрешаю, обращаться к фтп и почте...
00640 allow tcp from any to 192.168.0.0/16 out xmit xl0
65535 25785 2907869 deny ip from any to any
Я ими уже как в пятнашки играю... в разной послед. пробую!
Народ, помогите, пожалуйста, подскажите, где грабли!!!
Спасибо заранее |
|
Вернуться к началу |
|
|
TechNoir
Зарегистрирован: 22.08.2003 Сообщения: 1632 Откуда: Moscou
|
Добавлено: Пт Дек 05 2003 18:46 Заголовок сообщения: |
|
|
Для того, чтобы твои пакеты удачно "вошли" внутрь роутера и выбрались обратно, тебе достаточно правил с номерами 540 и 640.
Теперь, как-только пакет вздумает выбраться наружу, т.е через внешний интерфейс, его нужно отправить в NAT. Пакет прошедший через уже с измененным адресом источника продолжает проверяться далее по цепочке,т.е. правило, разрешаюшее прохождение пакетов от тебя (me) должно стоять обязательно после отправки в NAT
Ответный пакет обязательно вернется, ты будешь смеяться, но и его нужно отдать на растерзание NAT.
После того как он изменит адрес назначение на адрес, принадлежащий компьютеру локальной сети - в твоем случае 192.168.0.0/16 нужно будет после NAT добавить правило разрешающее прохождение пакетов в подсеть 192.168.0.0/16
Пакет уходящий от тебя на порт 21 например возвращается совсем на другой порт, на так называемый напривилигированный порт (1025-65535).
Поэтому ты должен позаботиться о том, чтобы FireWall не отсеивал возвращающиеся пакеты.
Написанное тобой правило 00410 allow tcp from any to me 25
следовало бы записать так : 00410 allow tcp from any to me 1025-65535.
Но я делаю про другому. Использую динамические правила, которые считываются в момент чтения записи check-state (см. man ipfw).
Записанное ниже правило :
00350 allow ip from me to any keep-state
позволяет временно создать правило, позволяющее ответному пакету вернуться.
В общем в твоем случае правила должны выглядеть так:
----------------------------------------------------------------------
ipfw add divert 8668 ip from 192.168.0.0/16 to any out xmit dc0 (внеш.)
ipfw add divert 8668 ip from any to me in via dc0
ipfw add check-state
ipfw add allow ip from me to any keep-state
ipfw add allow ip from any to 192.168.0.0/16 in via dc0
ipfw add allow tcp from 192.168.0.0/16 to any 21,110 in recv xl0
ipfw add allow tcp from any to 192.168.0.0/16 out xmit xl0
----------------------------------------------------------------------
Должно прокатить. У меня прокатывает! _________________ Vive la Russie! |
|
Вернуться к началу |
|
|
|