ipfw + shtm

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
XliN
проходил мимо

ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-10 15:49:55

Стоит 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 раз больше разбирался.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение dikens3 » 2007-10-10 15:56:04

Поднять нат нужно бы. Включить forwarding.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

XliN
проходил мимо

Re: ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-10 16:25:36

Чтобы поднять 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 провайдера. Пробую. Не работает. В чем проблема?
З.Ы. Какие все таки написать правила для почты?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение dikens3 » 2007-10-10 16:27:24

В чем проблема?
В логах все ответы. Логи в студию, вывод ipfw -ad list тоже. Squid какой версии?
natd_interface="fxp0"
${ipfw} add divert natd all from any to any via rl0
Тебе выделенное не кажется странным?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

XliN
проходил мимо

Re: ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-10 16:40:22

Выделенное кажется странным, просто описался. Там должно быть fxp0 :D
Логи чего?
ipfw -ad list я сейчас выложу. Какие еще надо?
Проксик у меян squid-2.5.STABLE14.tar.bz2

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение dikens3 » 2007-10-10 16:46:27

Пробую. Не работает.
Чего не работает, того и логи.
Если http, тогда фаер и squid логи, если почта(в твоём случае) тогда ipfw -ad list
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

XliN
проходил мимо

Re: ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-10 16:47:33

/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

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение dikens3 » 2007-10-10 18:27:17

Ты очень странный человек. Прописываешь natd в один скрипт, а пользуешься другим. И удивляешься?

Где divert natd в файрволе?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
XliN
мл. сержант
Сообщения: 145
Зарегистрирован: 2007-10-10 17:16:28
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-11 8:08:54

всмысле? Можно подробнее? Я пользуюсь одним скриптом. Тыкните пальцем где я туплю.... Пожалейте новичка в сетевых замутах :)
Изображение
Изображение
Изображение

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение schizoid » 2007-10-11 8:44:33

/usr/local/billing/rc.firewall
${ipfw} add divert natd all from any to any via fxp0
а в SKTV# ipfw -ad list уже и нету...
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
XliN
мл. сержант
Сообщения: 145
Зарегистрирован: 2007-10-10 17:16:28
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-11 9:05:58

Код: Выделить всё

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 провайдера. Пробую. Не работает. В чем проблема?
З.Ы. Какие все таки написать правила для почты?
Изображение
Изображение
Изображение

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение schizoid » 2007-10-11 9:12:34

так а эта, сам нат то поднимается?
ядро с divert скомпилено?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
XliN
мл. сержант
Сообщения: 145
Зарегистрирован: 2007-10-10 17:16:28
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-11 9:20:52

Как я понял нат не грузится. Так как при загрузки фри видно, что стартует мускул, ядро UTV, apache и т.д., а нат не видать.
Что подправить в конфиге ядра для нат? Ядро я пересабиру за 5 минут.
Изображение
Изображение
Изображение

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение dikens3 » 2007-10-11 9:38:59

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
Отсюда мной сделан вывод, что ты пользуешься разными скриптами.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
XliN
мл. сержант
Сообщения: 145
Зарегистрирован: 2007-10-10 17:16:28
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-11 9:53:23

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"
Изображение
Изображение
Изображение

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение schizoid » 2007-10-11 10:26:23

в ядре есть

Код: Выделить всё

options         IPDIVERT
?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
XliN
мл. сержант
Сообщения: 145
Зарегистрирован: 2007-10-10 17:16:28
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-11 10:35:20

Есть, когда пересобирал для ipfw добавил несколько строк:

Код: Выделить всё

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
Изображение
Изображение
Изображение

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение dikens3 » 2007-10-11 10:49:50

Мой вывод:
gateway# /etc/rc.d/natd rcvar
# natd
$natd_enable=YES
gateway#
У тебя как?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
XliN
мл. сержант
Сообщения: 145
Зарегистрирован: 2007-10-10 17:16:28
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-11 11:03:11

SKTV# /etc/rc.d/natd rcvar
# natd
$natd_enable=YES
Изображение
Изображение
Изображение

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение dikens3 » 2007-10-11 11:29:05

whereis natd
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение dikens3 » 2007-10-11 11:32:31

Код: Выделить всё

natd_enable="YES"
natd_interface="fxp0"
natd_flags="-v"
Выполни:
/etc/rc.d/./natd stop

/etc/rc.d/./natd start

Вывод сюда. (Интерфейс свой поставь)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
XliN
мл. сержант
Сообщения: 145
Зарегистрирован: 2007-10-10 17:16:28
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-11 12:51:20

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
Как юзера прописать? Какие правила доделать на почту и аську?
Изображение
Изображение
Изображение

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение dikens3 » 2007-10-11 13:06:43

Фаер показывай (ipfw -ad list)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
XliN
мл. сержант
Сообщения: 145
Зарегистрирован: 2007-10-10 17:16:28
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение XliN » 2007-10-11 13:41:38

Код: Выделить всё

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
Изображение
Изображение
Изображение

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw + shtm

Непрочитанное сообщение dikens3 » 2007-10-11 13:44:15

Код: Выделить всё

00500   0      0 divert 8668 ip from any to any via fxp0
Первой строкой сделай.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.