Проброс почтовых портов

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
yurko-i
рядовой
Сообщения: 43
Зарегистрирован: 2012-04-18 18:38:23

Проброс почтовых портов

Непрочитанное сообщение yurko-i » 2012-04-28 10:05:13

Привет всем.
Есть сервер, Freebsd 8.2.
Выступает в качестве шлюза. В сервере есть 4 сетевых карточки.
Планирую поднять на нем почтовый сервер. Провайдер притянул мне два независимых канала (А и В).
Через первый (А), более скоростной канал ходят в инет, через второй (В) планирую зарулить почту.
Сам вопрос состоит в том, как зарулить почту именно на второй канал (В).
Ниже привожу конфиги.
ifconfig

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

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_       MAGIC>
        ether 00:15:17:de:ad:c5
        inet 92.60.187.177 netmask 0xfffffffc broadcast 92.60.187.179
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_       MAGIC>
        ether 00:15:17:de:ad:c4
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
re0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST       ,WOL_MCAST,WOL_MAGIC>
        ether f8:d1:11:00:ea:49
        media: Ethernet autoselect (10baseT/UTP <half-duplex>)
        status: no carrier
fxp0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2009<RXCSUM,VLAN_MTU,WOL_MAGIC>
        ether 00:d0:b7:84:fd:46
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet 127.0.0.1 netmask 0xff000000

em0 - Через него ходят в инет
em1 - Смотрит в локалку
fxp0 - Это второй канал, через него почту хочу зарулить

ipfw

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

add 100 count log all from any to any via em0
# Разрешаем весь трафик по локальной сети
add 1040 allow ip from any to any via em1


# Запрещаем частные сети на внешнем интерфейса
add 1050 deny log ip from any to 192.168.0.0/16 in recv em0
add 1060 deny log ip from 192.168.0.0/16 to any in recv em0
add 1070 deny log ip from any to 172.16.0.0/12 in recv em0
add 1080 deny log ip from 172.16.0.0/12 to any in recv em0
add 1090 deny log ip from any to 10.0.0.0/8 in recv em0
add 10100 deny log ip from 10.0.0.0/8 to any in recv em0
add 10110 deny log ip from any to 169.254.0.0/16 in recv em0
add 10120 deny log ip from 169.254.0.0/16 to any in recv em0

# Incoming Pings
add 10135 allow icmp from any to me icmptypes 8 in recv em0
add 10136 allow icmp from any to me icmptypes 8 in recv re0


nat 1 config log if em0 reset same_ports deny_in

add 10160 nat 1 ip from any to any via em0

# Deny all
add 65534 deny log all from any to any
Подскажите как правильно прописать правила для проброса портов.
Спасибо.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Gloft
лейтенант
Сообщения: 645
Зарегистрирован: 2008-03-09 11:32:12
Откуда: Москва

Re: Проброс почтовых портов

Непрочитанное сообщение Gloft » 2012-04-28 12:47:16

Назначить ip на fxp0 и настроить прием и отправку почты через этот интерфейс.
Тогда и пробрасывать порты не нужно будет.

yurko-i
рядовой
Сообщения: 43
Зарегистрирован: 2012-04-18 18:38:23

Re: Проброс почтовых портов

Непрочитанное сообщение yurko-i » 2012-04-28 13:04:34

Gloft писал(а):Назначить ip на fxp0 и настроить прием и отправку почты через этот интерфейс.
Тогда и пробрасывать порты не нужно будет.
А в фаерволе не нужно разрешить интерфейсу fxp0 слушать 25-й и 110-й порт?

Gloft
лейтенант
Сообщения: 645
Зарегистрирован: 2008-03-09 11:32:12
Откуда: Москва

Re: Проброс почтовых портов

Непрочитанное сообщение Gloft » 2012-04-28 13:40:48

Само собой нужно.

yurko-i
рядовой
Сообщения: 43
Зарегистрирован: 2012-04-18 18:38:23

Re: Проброс почтовых портов

Непрочитанное сообщение yurko-i » 2012-05-11 13:39:53

Блин, не получается что-то.
Как указать для второго интерфейса свой шлюз, кот. мне провайдер выдал...
Пробовал разобраться с setfib. Но видно еще долго разбираться буду.

Повторно выкладываю поправленные конфиги:

rc.conf

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

ifconfig_em0="inet 92.60.187.177 netmask 255.255.255.252 -rxcsum"
ifconfig_em1="inet 192.168.1.1 netmask 255.255.255.0"
ifconfig_fxp0="inet 217.20.183.121 netmask 255.255.255.252 -rxcsum"

defaultrouter="92.60.187.178"
gateway_enable="YES"
hostname="core.ayatour.com.ua"
sshd_enable="YES"

setfib1_enable="YES"
setfib1_defaultroute="217.20.183.122"
/etc/sysctl.conf

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

net.inet.ip.fw.one_pass=0
/etc/ipfw

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

add 100 count log all from any to any via em0
add 200 count log all from any to any via fxp0
# Разрешаем весь трафик по локальной сети
#add 1030 setfib 0 ip from any to any in recv em1 keep-state
add 1040 allow ip from any to any via em1

# Запрещаем частные сети на внешнем интерфейса
add 1050 deny log ip from any to 192.168.0.0/16 in recv em0
add 1060 deny log ip from 192.168.0.0/16 to any in recv em0
add 1070 deny log ip from any to 172.16.0.0/12 in recv em0
add 1080 deny log ip from 172.16.0.0/12 to any in recv em0
add 1090 deny log ip from any to 10.0.0.0/8 in recv em0
add 10100 deny log ip from 10.0.0.0/8 to any in recv em0
add 10110 deny log ip from any to 169.254.0.0/16 in recv em0
add 10120 deny log ip from 169.254.0.0/16 to any in recv em0

add 1050 deny log ip from any to 192.168.0.0/16 in recv fxp0
add 1060 deny log ip from 192.168.0.0/16 to any in recv fxp0
add 1070 deny log ip from any to 172.16.0.0/12 in recv fxp0
add 1080 deny log ip from 172.16.0.0/12 to any in recv fxp0
add 1090 deny log ip from any to 10.0.0.0/8 in recv fxp0
add 10100 deny log ip from 10.0.0.0/8 to any in recv fxp0
add 10110 deny log ip from any to 169.254.0.0/16 in recv fxp0
add 10120 deny log ip from 169.254.0.0/16 to any in recv fxp0

# mail
# 110,25
add 10125 allow tcp from any to me 110 in via fxp0
add 10126 allow tcp from 192.168.1.0/24 to me 25 in via fxp0
add 10126 allow tcp from 77.90.196.58 to me 25 in via fxp0
add 10126 deny tcp from any to me 25 in via fxp0


# Incoming Pings
add 10135 allow icmp from any to me icmptypes 8 in recv em0
add 10140 allow icmp from any to me icmptypes 8 in recv fxp0


nat 1 config log if em0 reset same_ports deny_in
nat 2 config log if fxp0 reset same_ports deny_in

add 10160 nat 1 ip from any to any via em0
add 10165 nat 2 ip from any to any via fxp0

# Deny all
add 65534 deny log all from any to any
Понимаю что в фаерволе щас полная хрень, но не знаю как правильно написать правила...

/usr/local/etc/rc.d/setfib1

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

#!/bin/sh
# PROVIDE: SETFIB1
# REQUIRE: NETWORKING
# BEFORE: DAEMON
#
# Add the following lines to /etc/rc.conf to enable setfib -1 at startup
# setfib1 (bool): Set to "NO" by default.
#                Set it to "YES" to enable setfib1
# setfib1_defaultroute (str): Set to "" by default
#       Set it to ip address of default gateway for use in fib 1

. /etc/rc.subr

name="setfib1"
rcvar=`set_rcvar`

load_rc_config $name

[ -z "$setfib1_enable" ] && setfib1_enable="NO"
[ -z "$setfib1_defaultroute" ] && setfib1_defaultroute=""

start_cmd="${name}_start"
stop_cmd="${name}_stop"

setfib1_start()
{
if [ ${setfib1_defaultroute} ]
then
setfib 1 route delete default
setfib 1 route add default ${setfib1_defaultroute}
else
echo "Can not set default route for fib 1!"
fi
}

setfib1_stop()
{
setfib 1 route delete default
}
run_rc_command "$1"
Помогите плз разобраться. Спасибо.

yurko-i
рядовой
Сообщения: 43
Зарегистрирован: 2012-04-18 18:38:23

Re: Проброс почтовых портов

Непрочитанное сообщение yurko-i » 2012-05-11 17:54:23

Поправил ipfw, Пинги на вторую сетевуху(fxp0) стали доходить, только порты все-равно не отвечают
Вот сам конфиг:

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

add 100 count log all from any to any via em0
add 200 count log all from any to any via fxp0

add 1030 setfib 0 ip from any to any in recv em0 keep-state
add 1031 setfib 1 ip from any to any in recv fxp0 keep-state

# Разрешаем весь трафик по локальной сети
add 1040 allow ip from any to any via em1

# Запрещаем частные сети на внешнем интерфейса
add 1050 deny log ip from any to 192.168.0.0/16 in recv em0
add 1060 deny log ip from 192.168.0.0/16 to any in recv em0
add 1070 deny log ip from any to 172.16.0.0/12 in recv em0
add 1080 deny log ip from 172.16.0.0/12 to any in recv em0
add 1090 deny log ip from any to 10.0.0.0/8 in recv em0
add 10100 deny log ip from 10.0.0.0/8 to any in recv em0
add 10110 deny log ip from any to 169.254.0.0/16 in recv em0
add 10120 deny log ip from 169.254.0.0/16 to any in recv em0

add 1050 deny log ip from any to 192.168.0.0/16 in recv fxp0
add 1060 deny log ip from 192.168.0.0/16 to any in recv fxp0
add 1070 deny log ip from any to 172.16.0.0/12 in recv fxp0
add 1080 deny log ip from 172.16.0.0/12 to any in recv fxp0
add 1090 deny log ip from any to 10.0.0.0/8 in recv fxp0
add 10100 deny log ip from 10.0.0.0/8 to any in recv fxp0
add 10110 deny log ip from any to 169.254.0.0/16 in recv fxp0
add 10120 deny log ip from 169.254.0.0/16 to any in recv fxp0

# mail
# 110,25
add 10125 allow tcp from any to me 110 in via fxp0
add 10126 allow tcp from 192.168.1.0/24 to me 25 in via fxp0
add 10126 allow tcp from 77.90.196.58 to me 25 in via fxp0
add 10126 deny tcp from any to me 25 in via fxp0


# Incoming Pings
add 10135 allow icmp from any to me icmptypes 8 in recv em0
add 10140 allow icmp from any to me icmptypes 8 in recv fxp0


nat 1 config log if em0 reset same_ports deny_in
nat 2 config log if fxp0 reset same_ports deny_in

add 10160 nat 1 ip from any to any via em0
add 10165 nat 2 ip from any to any via fxp0

# Deny all
add 65534 deny log all from any to any