Страница 1 из 2
ipfw + shtm
Добавлено: 2007-10-10 15:49:55
XliN
Стоит FreeBSD 6.2
1. Надо что бы клиент, который выходит через сервак с фри мог принимать и отправлять почту.
2. На серваке стоит squid и ipfw
3. fxp0 - картачка смотрящая в инет nve0 - смотрит в локалку
Вот правила фаирволла:
Код: Выделить всё
ipfw='/sbin/ipfw -q'
${ipfw} add fwd 192.168.1.222 tcp from any to any http in via nve0 # HTTP запросы пользователей попадают на компьютер с http прокси
${ipfw} add pass all from any to any
${ipfw} add fwd 127.0.0.1,3128 tcp from any to any http in via nve0 #HTTP запросы попадают в "лапы" прокси
${ipfw} add pass all from any to any
Что бы решить вопрос с приемом и отправкой почты с клиента в инет через сервак (с squid), какие надо дописать правила? Помогите пожалуйста?
З.Ы. в ipfw у меня написаны только эти правила. Я только учусь и прошу отнестись с пониманием

P.S.S Читал статьи много уважаемого Лиссяры, не врублюсь.
З.Ы.Ы.Ы. Сайт очень хороший, если бы не он я бы с фри в 10 раз больше разбирался.
Re: ipfw + shtm
Добавлено: 2007-10-10 15:56:04
dikens3
Поднять нат нужно бы. Включить forwarding.
Re: ipfw + shtm
Добавлено: 2007-10-10 16:25:36
XliN
Чтобы поднять NAT я делал следующее:
1. В конфиг squid`a добавил строчки
Код: Выделить всё
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Этим проксик я делаю прозрачным.
2. В файл /etc/rc.conf нужно дописать следующие строки:
Код: Выделить всё
firewall_enable="YES"
firewall_script="/usr/local/billing/rc.firewall"
natd_enable="YES"
natd_interface="fxp0"
gateway_enable="YES"
3. В файл rc.firewall записал:
Код: Выделить всё
${ipfw} add divert natd all from any to any via rl0
${ipfw} add allow all from any to any
После этих монипуляций перезапустил фри. На компьютере клиента выключил прокси и в сетевых настройках прописал шлюз (IP сервака) и DNS провайдера. Пробую. Не работает. В чем проблема?
З.Ы. Какие все таки написать правила для почты?
Re: ipfw + shtm
Добавлено: 2007-10-10 16:27:24
dikens3
В чем проблема?
В логах все ответы. Логи в студию, вывод ipfw -ad list тоже. Squid какой версии?
natd_interface="fxp0"
${ipfw} add divert natd all from any to any via rl0
Тебе выделенное не кажется странным?
Re: ipfw + shtm
Добавлено: 2007-10-10 16:40:22
XliN
Выделенное кажется странным, просто описался. Там должно быть fxp0
Логи чего?
ipfw -ad list я сейчас выложу. Какие еще надо?
Проксик у меян squid-2.5.STABLE14.tar.bz2
Re: ipfw + shtm
Добавлено: 2007-10-10 16:46:27
dikens3
Пробую. Не работает.
Чего не работает, того и логи.
Если http, тогда фаер и squid логи, если почта(в твоём случае) тогда ipfw -ad list
Re: ipfw + shtm
Добавлено: 2007-10-10 16:47:33
XliN
/usr/local/billing/rc.firewall
Код: Выделить всё
${ipfw} -f flush
${ipfw} add fwd 192.168.1.222 tcp from any to any http in via nve0
${ipfw} add pass all from any to any
${ipfw} add fwd 127.0.0.1,3128 tcp from any to any http in via nve0
${ipfw} add pass all from any to any
${ipfw} add fwd 192.168.1.2 tcp from any to any 5190 in via nve0
${ipfw} add pass all from any to any
${ipfw} add divert natd all from any to any via fxp0
${ipfw} add allow all from any to any
Код: Выделить всё
SKTV# cat /etc/rc.conf
keymap="ru.koi8-r"
linux_enable="YES"
usbd_enable="YES"
# -- sysinstall generated deltas -- # Sun Sep 30 16:08:45 2007
ifconfig_nve0="inet 192.168.1.222 netmask 255.255.255.0"
ifconfig_fxp0="inet 192.168.2.2 netmask 255.255.255.0"
defaultrouter="192.168.2.1"
firewall_enable="YES"
firewall_script="/usr/local/billing/rc.wirewall"
natd_enable="YES"
natd_interface="fxp0"
gateway_enable="YES"
hostname="SKTV"
squid_enable="YES"
apache_enable="YES"
mysql_enable="YES"
Код: Выделить всё
SKTV# ipfw -ad list
00100 0 0 fwd 192.168.1.222 tcp from any to any dst-port 80 in via nve0
00200 2416 774256 allow ip from any to any
00300 0 0 fwd 127.0.0.1,3128 tcp from any to any dst-port 80 in via nve0
00400 0 0 allow ip from any to any
00500 0 0 fwd 192.168.1.2 tcp from any to any dst-port 5190 in via nve0
00600 0 0 allow ip from any to any
00700 0 0 allow tcp from any to 192.168.1.222 dst-port 110 via nve0 setup
00800 0 0 allow tcp from any to 192.168.1.222 dst-port 20,21 in via nve0 setup
00900 0 0 allow tcp from any to 192.168.1.222 dst-port 5190 in via nve0 setup
01000 0 0 allow tcp from any to 192.168.1.222 dst-port 49152-65535 via nve0 setup
65535 125 8487 deny ip from any to any
Re: ipfw + shtm
Добавлено: 2007-10-10 18:27:17
dikens3
Ты очень странный человек. Прописываешь natd в один скрипт, а пользуешься другим. И удивляешься?
Где divert natd в файрволе?
Re: ipfw + shtm
Добавлено: 2007-10-11 8:08:54
XliN
всмысле? Можно подробнее? Я пользуюсь одним скриптом. Тыкните пальцем где я туплю.... Пожалейте новичка в сетевых замутах

Re: ipfw + shtm
Добавлено: 2007-10-11 8:44:33
schizoid
/usr/local/billing/rc.firewall
${ipfw} add divert natd all from any to any via fxp0
а в SKTV# ipfw -ad list уже и нету...
Re: ipfw + shtm
Добавлено: 2007-10-11 9:05:58
XliN
Код: Выделить всё
ipfw='/sbin/ipfw -q'
${ipfw} -f flush
${ipfw} add fwd 192.168.1.222 tcp from any to any http in via nve0
${ipfw} add pass all from any to any
${ipfw} add fwd 127.0.0.1,3128 tcp from any to any http in via nve0
${ipfw} add pass all from any to any
${ipfw} add divert natd all from any to any via fxp0
${ipfw} add allow all from any to any
Вот мой рабочий скрипт. Я им пользуюсь. Ошибся. Так почему не робит НАТ?
З.Ы. Повторюсь:
После этих монипуляций перезапустил фри. На компьютере клиента выключил прокси и в сетевых настройках прописал шлюз (IP сервака) и DNS провайдера. Пробую. Не работает. В чем проблема?
З.Ы. Какие все таки написать правила для почты?
Re: ipfw + shtm
Добавлено: 2007-10-11 9:12:34
schizoid
так а эта, сам нат то поднимается?
ядро с divert скомпилено?
Re: ipfw + shtm
Добавлено: 2007-10-11 9:20:52
XliN
Как я понял нат не грузится. Так как при загрузки фри видно, что стартует мускул, ядро UTV, apache и т.д., а нат не видать.
Что подправить в конфиге ядра для нат? Ядро я пересабиру за 5 минут.
Re: ipfw + shtm
Добавлено: 2007-10-11 9:38:59
dikens3
ps -aux | grep nat
Вот ты вывод показываешь один:
Код: Выделить всё
SKTV# ipfw -ad list
00100 0 0 fwd 192.168.1.222 tcp from any to any dst-port 80 in via nve0
00200 2416 774256 allow ip from any to any
00300 0 0 fwd 127.0.0.1,3128 tcp from any to any dst-port 80 in via nve0
00400 0 0 allow ip from any to any
00500 0 0 fwd 192.168.1.2 tcp from any to any dst-port 5190 in via nve0
00600 0 0 allow ip from any to any
00700 0 0 allow tcp from any to 192.168.1.222 dst-port 110 via nve0 setup
00800 0 0 allow tcp from any to 192.168.1.222 dst-port 20,21 in via nve0 setup
00900 0 0 allow tcp from any to 192.168.1.222 dst-port 5190 in via nve0 setup
01000 0 0 allow tcp from any to 192.168.1.222 dst-port 49152-65535 via nve0 setup
65535 125 8487 deny ip from any to any
А в самом файле у тебя другое:
Код: Выделить всё
${ipfw} add fwd 192.168.1.222 tcp from any to any http in via nve0
${ipfw} add pass all from any to any
${ipfw} add fwd 127.0.0.1,3128 tcp from any to any http in via nve0
${ipfw} add pass all from any to any
${ipfw} add divert natd all from any to any via fxp0
${ipfw} add allow all from any to any
Как так может быть?
Даже если нат не запускается, то должно быть так:
Код: Выделить всё
00100 0 0 fwd 192.168.1.222 tcp from any to any dst-port 80 in via nve0
00200 2416 774256 allow ip from any to any
00300 0 0 fwd 127.0.0.1,3128 tcp from any to any dst-port 80 in via nve0
00400 0 0 allow ip from any to any
00500 0 0 allow ip from any to any
Отсюда мной сделан вывод, что ты пользуешься разными скриптами.
Re: ipfw + shtm
Добавлено: 2007-10-11 9:53:23
XliN
ps -aux | grep nat ничего не показывает
Теперь на самом деле как у меня настроено
Код: Выделить всё
SKTV# cat /usr/local/billing/rc.firewall
ipfw='/sbin/ipfw -q'
${ipfw} -f flush
${ipfw} add fwd 192.168.1.222 tcp from any to any http in via nve0
${ipfw} add pass all from any to any
${ipfw} add fwd 127.0.0.1,3128 tcp from any to any http in via nve0
${ipfw} add pass all from any to any
${ipfw} add divert natd all from any to any via fxp0
${ipfw} add allow all from any to any
Код: Выделить всё
SKTV# ipfw -ad list
00100 0 0 fwd 192.168.1.222 tcp from any to any dst-port 80 in via nve0
00200 67 4009 allow ip from any to any
00300 0 0 fwd 127.0.0.1,3128 tcp from any to any dst-port 80 in via nve0
00400 0 0 allow ip from any to any
00500 0 0 divert 8668 ip from any to any via fxp0
00600 0 0 allow ip from any to any
65535 174 10432 deny ip from any to any
Код: Выделить всё
SKTV# cat /etc/rc.conf
keymap="ru.koi8-r"
linux_enable="YES"
usbd_enable="YES"
# -- sysinstall generated deltas -- # Sun Sep 30 16:08:45 2007
ifconfig_nve0="inet 192.168.1.222 netmask 255.255.255.0"
ifconfig_fxp0="inet 192.168.2.2 netmask 255.255.255.0"
defaultrouter="192.168.2.1"
firewall_enable="YES"
firewall_script="/usr/local/billing/rc.wirewall"
natd_enable="YES"
natd_interface="fxp0"
gateway_enable="YES"
hostname="SKTV"
squid_enable="YES"
apache_enable="YES"
mysql_enable="YES"
Re: ipfw + shtm
Добавлено: 2007-10-11 10:26:23
schizoid
Re: ipfw + shtm
Добавлено: 2007-10-11 10:35:20
XliN
Есть, когда пересобирал для ipfw добавил несколько строк:
Код: Выделить всё
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
Re: ipfw + shtm
Добавлено: 2007-10-11 10:49:50
dikens3
Мой вывод:
gateway# /etc/rc.d/natd rcvar
# natd
$natd_enable=YES
gateway#
У тебя как?
Re: ipfw + shtm
Добавлено: 2007-10-11 11:03:11
XliN
SKTV# /etc/rc.d/natd rcvar
# natd
$natd_enable=YES
Re: ipfw + shtm
Добавлено: 2007-10-11 11:29:05
dikens3
whereis natd
Re: ipfw + shtm
Добавлено: 2007-10-11 11:32:31
dikens3
Код: Выделить всё
natd_enable="YES"
natd_interface="fxp0"
natd_flags="-v"
Выполни:
/etc/rc.d/./natd stop
/etc/rc.d/./natd start
Вывод сюда. (Интерфейс свой поставь)
Re: ipfw + shtm
Добавлено: 2007-10-11 12:51:20
XliN
NAT запустился. Что дальше?
Код: Выделить всё
ps -xu | grep natd
root 1095 0.0 0.2 1352 912 ?? Is 1:36PM 0:00.00 /sbin/natd -m -u -
root 1100 0.0 0.1 372 252 p0 R+ 1:36PM 0:00.00 grep natd
Как юзера прописать? Какие правила доделать на почту и аську?
Re: ipfw + shtm
Добавлено: 2007-10-11 13:06:43
dikens3
Фаер показывай (ipfw -ad list)
Re: ipfw + shtm
Добавлено: 2007-10-11 13:41:38
XliN
Код: Выделить всё
SKTV# ipfw -ad list
00100 0 0 fwd 192.168.1.222 tcp from any to any dst-port 80 in via nve0
00200 886 199996 allow ip from any to any
00300 0 0 fwd 127.0.0.1,3128 tcp from any to any dst-port 80 in via nve0
00400 0 0 allow ip from any to any
00500 0 0 divert 8668 ip from any to any via fxp0
00600 0 0 allow ip from any to any
65535 34 2142 deny ip from any to any
Re: ipfw + shtm
Добавлено: 2007-10-11 13:44:15
dikens3
Код: Выделить всё
00500 0 0 divert 8668 ip from any to any via fxp0
Первой строкой сделай.