И снова два провайдера..

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Candyman
рядовой
Сообщения: 15
Зарегистрирован: 2007-08-21 18:48:43
Откуда: Киев
Контактная информация:

И снова два провайдера..

Непрочитанное сообщение Candyman » 2009-11-05 17:35:05

Добрый день, коллеги.
Обращаюсь к вам с просьбой помочь, потому что сам запутался и кручусь вокруг да около, не приходя к решению.
Вот собственно описание задачи:
Есть два провайдера, один - укртелеком, пользователи ходят через него в интернет (MPD5), другой - лимитированный по трафику Голден Телеком с постоянным адресо, раньше все ходили через него, но после десятка разбирательств кто что скачал решили перейти на безлимитный укртелеком, но с голденом не расстались, потому что на нем висит сайт и т.п.
Задача моя состоит в том, чтобы все ходили через одного провайдера, но в то же время должен быть доступен сайт, FTP, SSH и прочее, что привязано в постоянному адресу (у укретекома динамика).
С первой частью я справился, сделал через MPD5 и kernel nat:

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

00100  156472   10534488 allow ip from any to any via lo0
00200       0          0 deny ip from any to 127.0.0.0/8
00300       0          0 deny ip from 127.0.0.0/8 to any
01040 9705305 4924288499 allow ip from any to any via vr0
01050       0          0 deny ip from any to 192.168.0.0/16 in recv ng0
01060       0          0 deny ip from 192.168.0.0/16 to any in recv ng0
01070       0          0 deny ip from any to 172.16.0.0/12 in recv ng0
01080       1        159 deny ip from 172.16.0.0/12 to any in recv ng0
01090       0          0 deny ip from any to 10.0.0.0/8 in recv ng0
10100      50       2312 deny ip from 10.0.0.0/8 to any in recv ng0
10110       0          0 deny ip from any to 169.254.0.0/16 in recv ng0
10120       0          0 deny ip from 169.254.0.0/16 to any in recv ng0
10125      26       1300 allow tcp from any to me dst-port 22 via ng0
10130  553245   55343790 nat 1 ip from 192.168.0.0/24 to any via ng0
10131 1493610 1088856277 nat 1 ip from any to 95.133.104.112 via ng0
65535  187082   12116965 deny ip from any to any
Но пытаясь добавлять правила для голдена, не могу доступиться извне ни по http, ни по ftp, ни по ssh..
Посоветуйте мне набор правил для реализации такой задачи.
Заранее благодарен.

Хостинговая компания 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/

Аватара пользователя
---nebo---
старшина
Сообщения: 424
Зарегистрирован: 2008-11-01 21:06:23
Откуда: Киев
Контактная информация:

Re: И снова два провайдера..

Непрочитанное сообщение ---nebo--- » 2009-11-05 17:53:29

дайте
1)

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

#ifconfig -a
2) адресацию внутри сети + адреса серверов, к торомым должен быть доступ
...участки под застройку в живописном месте Интернет

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: И снова два провайдера..

Непрочитанное сообщение Larin » 2009-11-05 18:30:07

а в чем собственно проблема?
разреши в фаерволе ssh(и что тебе там нужно) по интерфейсу голедн телекома

Candyman
рядовой
Сообщения: 15
Зарегистрирован: 2007-08-21 18:48:43
Откуда: Киев
Контактная информация:

Re: И снова два провайдера..

Непрочитанное сообщение Candyman » 2009-11-05 18:34:28

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

vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2808<VLAN_MTU,WOL_UCAST,WOL_MAGIC>
        ether 00:13:46:eb:56:35
        inet 192.168.0.156 netmask 0xffffff00 broadcast 192.168.0.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:e0:4c:16:9d:e0
        inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2009<RXCSUM,VLAN_MTU,WOL_MAGIC>
        ether 00:13:20:d6:d2:d7
        inet 62.64.79.174 netmask 0xfffffffc broadcast 62.64.79.175
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1460
        inet 95.133.104.112 --> 195.5.5.185 netmask 0xffffffff
fxp0 - лимитированный, на котором висит сайт и т.п., rl0 смотрит на модем, vr0 - на локальную сеть.
Внутри сети (vr0) - 192.168.0.0/24, на интерфейсе, который идет к укртелекомовскому модему (rl0) - 192.168.1.0/24, на интерфейсе от голдена (fxp0) - 62.64.79.174/29.
Вотъ.

Candyman
рядовой
Сообщения: 15
Зарегистрирован: 2007-08-21 18:48:43
Откуда: Киев
Контактная информация:

Re: И снова два провайдера..

Непрочитанное сообщение Candyman » 2009-11-05 18:35:20

Larin писал(а):а в чем собственно проблема?
разреши в фаерволе ssh(и что тебе там нужно) по интерфейсу голедн телекома
А куда правила добавлять?
После ната или перед?
Логика говорит, что после, но в данном случае она не сработала)

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

Re: И снова два провайдера..

Непрочитанное сообщение schizoid » 2009-11-05 18:43:21

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

Candyman
рядовой
Сообщения: 15
Зарегистрирован: 2007-08-21 18:48:43
Откуда: Киев
Контактная информация:

Re: И снова два провайдера..

Непрочитанное сообщение Candyman » 2009-11-05 18:44:03

Все на одной машине.

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: И снова два провайдера..

Непрочитанное сообщение Larin » 2009-11-05 18:46:13

Candyman писал(а):
Larin писал(а):а в чем собственно проблема?
разреши в фаерволе ssh(и что тебе там нужно) по интерфейсу голедн телекома
А куда правила добавлять?
После ната или перед?
Логика говорит, что после, но в данном случае она не сработала)
у тебя же нат на укртелекоме. пакеты с голдентелекомовского интерфейса не причем...

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

ipfw add allow tcp from any to me  22 in via fxp0

Candyman
рядовой
Сообщения: 15
Зарегистрирован: 2007-08-21 18:48:43
Откуда: Киев
Контактная информация:

Re: И снова два провайдера..

Непрочитанное сообщение Candyman » 2009-11-05 21:26:01

Larin писал(а):
Candyman писал(а):
Larin писал(а):а в чем собственно проблема?
разреши в фаерволе ssh(и что тебе там нужно) по интерфейсу голедн телекома
А куда правила добавлять?
После ната или перед?
Логика говорит, что после, но в данном случае она не сработала)
у тебя же нат на укртелекоме. пакеты с голдентелекомовского интерфейса не причем...

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

ipfw add allow tcp from any to me  22 in via fxp0
Пробовал, не работает..
Вроде руки прямые, но что-то явно пошло не так(
Может я где-то в принципе ошибаюсь?

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: И снова два провайдера..

Непрочитанное сообщение terminus » 2009-11-05 21:47:26

Вам надо смотреть в сторону использования двух таблиц маршрутизации. Если сейчас у вас default route прописан через Украину ng0 то соединения пришедшие от Голден телеком назад попруться через default route.

Настройте default route (defaultrouter в rc.conf) так чтобы он шел через голден, а для соединений инициированных от клиентов из локальной сети (которые надо натить через Украину) пропишите вторую таблицу где стоит Украинский default route через ng0.

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

setfib 1 route add -net default 195.?.?.? 

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

ipfw add setfib 1 ip from any to any in recv vr0
ipfw add allow ip from any to any via vr0

ipfw nat 1 config log if fxp0 same_ports reset deny_in redirect_port tcp 127.0.0.1:80 80 redirect_port tcp 127.0.0.1:22 22
ipfw nat 2 config log if ng0 same_ports reset deny_in

ipfw add nat 1 ip from any to any via fxp0
ipfw add nat 2 ip from any to any via ng0
Это как пример-образец. Если нет желания, то от nat 1, который прикрывает интерфейс смотрящий в голден, можно отказаться...
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Candyman
рядовой
Сообщения: 15
Зарегистрирован: 2007-08-21 18:48:43
Откуда: Киев
Контактная информация:

Re: И снова два провайдера..

Непрочитанное сообщение Candyman » 2009-11-05 22:05:02

Спасибо, попробую, когда завтра на работу попаду. Сделал бы и сейчас, но ssh-то нет)

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

Re: И снова два провайдера..

Непрочитанное сообщение schizoid » 2009-11-06 10:42:25

ну по ssh такие вещи мутить...можно сервак потерять
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Candyman
рядовой
Сообщения: 15
Зарегистрирован: 2007-08-21 18:48:43
Откуда: Киев
Контактная информация:

Re: И снова два провайдера..

Непрочитанное сообщение Candyman » 2009-11-16 22:57:54

Короче говоря, сейчас конфиг такой:

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

01040 9267 2859323 setfib 0 ip from any to any via vr0 keep-state
01050 7180 2510270 allow ip from any to any via vr0
01060    0       0 setfib 1 ip from any to any via vr0 keep-state
01070    0       0 allow ip from any to any via vr0
01080    0       0 deny ip from any to 192.168.0.0/16 in recv ng0
01081    0       0 deny ip from any to 192.168.0.0/16 in recv fxp0
01090    0       0 deny ip from 192.168.0.0/16 to any in recv ng0
01091    0       0 deny ip from 192.168.0.0/16 to any in recv fxp0
10100    0       0 deny ip from any to 172.16.0.0/12 in recv ng0
10101    0       0 deny ip from any to 172.16.0.0/12 in recv fxp0
10110    0       0 deny ip from 172.16.0.0/12 to any in recv ng0
10111    0       0 deny ip from 172.16.0.0/12 to any in recv fxp0
10120    0       0 deny ip from any to 10.0.0.0/8 in recv ng0
10121    0       0 deny ip from any to 10.0.0.0/8 in recv fxp0
10130    0       0 deny ip from 10.0.0.0/8 to any in recv ng0
10131    0       0 deny ip from 10.0.0.0/8 to any in recv fxp0
10140    0       0 deny ip from any to 169.254.0.0/16 in recv ng0
10141    0       0 deny ip from any to 169.254.0.0/16 in recv fxp0
10150    0       0 deny ip from 169.254.0.0/16 to any in recv ng0
10151    0       0 deny ip from 169.254.0.0/16 to any in recv fxp0
10170 5354 1858755 nat 1 ip from any to any via ng0
10171 3027 1493026 setfib 0 ip from any to any in recv ng0
10200  142    5912 nat 2 ip from any to any via fxp0
10201   78    3352 setfib 1 ip from any to any in recv fxp0
10220 6200 1912573 allow ip from any to any
65535   14    4186 deny ip from any to any
Кроме этого в rc.conf:

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

setfib1_enable="YES"
setfib1_defaultroute="62.64.79.174"
Просматриваю таблицы маршрутов:

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

[root@etf /home/asm]# setfib 0 netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            195.5.5.185        UGS         0     2480    ng0
11.22.33.0/24      link#2             UC          0        0    rl0
62.64.79.172/30    link#3             UC          0        0   fxp0
62.64.79.174       00:13:20:d6:d2:d7  UHLW        1        9    lo0
127.0.0.1          127.0.0.1          UH          0      387    lo0
192.168.0.0/24     link#1             UC          0        0    vr0
192.168.0.32       00:1c:c0:c7:b6:14  UHLW        1     4017    vr0   1184
192.168.0.39       00:13:ce:16:5c:98  UHLW        1      209    vr0   1162
192.168.0.100      00:1c:c0:73:b0:80  UHLW        1       17    vr0   1178
192.168.0.156      00:13:46:eb:56:35  UHLW        1        1    lo0
192.168.0.255      ff:ff:ff:ff:ff:ff  UHLWb       1       28    vr0
195.5.5.185        95.133.168.246     UH          1        0    ng0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UHL         lo0
fe80::%lo0/64                     fe80::1%lo0                   U           lo0
fe80::1%lo0                       link#5                        UHL         lo0
ff01:5::/32                       fe80::1%lo0                   UC          lo0
ff02::%lo0/32                     fe80::1%lo0                   UC          lo0

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

[root@etf /home/asm]# setfib 1 netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            62.64.79.174       UGS         0       64   fxp0
11.22.33.0/24      link#2             UC          0        0    rl0
62.64.79.172/30    link#3             UC          0        0   fxp0
62.64.79.174       00:13:20:d6:d2:d7  UHLW        2        1    lo0
127.0.0.1          127.0.0.1          UH          0        0    lo0
192.168.0.0/24     link#1             UC          0        0    vr0
192.168.0.32       00:1c:c0:c7:b6:14  UHLW        1        0    vr0   1168
192.168.0.39       00:13:ce:16:5c:98  UHLW        1        0    vr0   1146
192.168.0.100      00:1c:c0:73:b0:80  UHLW        1        0    vr0   1162
195.5.5.185        95.133.168.246     UH          0        0    ng0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UHL         lo0
fe80::%lo0/64                     fe80::1%lo0                   U           lo0
fe80::1%lo0                       link#5                        UHL         lo0
ff01:5::/32                       fe80::1%lo0                   UC          lo0
ff02::%lo0/32                     fe80::1%lo0                   UC          lo0
Смотрел уже tcpdump'ом, вижу, что запрос приходит, но ответа нет..(

Есть идеи где я ошибаюсь?

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: И снова два провайдера..

Непрочитанное сообщение terminus » 2009-11-16 23:45:12

Вам как надо было сделать - чтобы юзеры шли через Украину а все остальное шло через голдентелеком?

Вы настроили:
195.5.5.185 как гейтвей для таблицы 0 (Украина)
62.64.79.174 как гейтвей для таблицы 1 (Голдентелеком)

Неправельно! :crazy:

Надо чтобы голден был маршрут по умолчанию в таблице 0, а Украина в талице 1!
Тогда эти правила (при условии что net.inet.ip.fw.one_pass=1):

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

# fib 0 / fxp0 / nat 1  - RU 
# fib 1 / ng0 / nat 2 - UA

ipfw add setfib 1 ip from any to any in recv vr0
ipfw add allow ip from any to any via vr0

ipfw nat 1 config log if fxp0 same_ports reset deny_in redirect_port tcp 127.0.0.1:80 80
ipfw nat 2 config log if ng0 same_ports reset deny_in

ipfw add nat 1 ip from any to any via fxp0
ipfw add nat 2 ip from any to any via ng0

ipfw add deny all from any to any
дадут то, что трафик приходящий из внутренней сети через vr0 будет помечаться на использование fib 1 на которой весит Украинский провайдер и будет ходить через ng0, через нат 2 - через Украину.

В то же самое время когда на сервер придет соединение на 80 порт оно пройдет через нат и будет принято апачем. Когда апач станет слать страфик назад, он сделает это используя таблицу маршрутизации по-умолчанию fib 0 - и тогда трафик уйдет назад через fxp0, через нат 1 - через Голден.


И зачем вы там навешали keep-state'ов? :pardon: Ненадо их. Сделайте чтобы в rc.conf были прописаны настройки относящиеся к голден телеком, а setfib1 настройте для линка поднимаегого MPD:

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

setfib1_enable="YES"
setfib1_defaultroute="195.5.5.185"

ifconfig_fxp0="inet 62.64.79.172 netmask 255.255.255.254"
defaultrouter="62.64.79.174"
У вас в MPD статические или динамические адреса прописаны? Если статические то просто не прописывайте там в настройках default gateway иначе он станет пытаться вешать его на fib 0. Этот default gateway будет устанавливаться через setfib1_defaultroute="195.5.5.185"
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: И снова два провайдера..

Непрочитанное сообщение GRooVE » 2009-11-17 0:22:55

дайте вывод

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

uname -a
может там восьмерка :)

Candyman
рядовой
Сообщения: 15
Зарегистрирован: 2007-08-21 18:48:43
Откуда: Киев
Контактная информация:

Re: И снова два провайдера..

Непрочитанное сообщение Candyman » 2009-11-17 1:37:30

GRooVE писал(а):дайте вывод

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

uname -a
может там восьмерка :)

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

FreeBSD etf.com.ua 7.2-RELEASE-p3 FreeBSD 7.2-RELEASE-p3 #3: Sat Aug 29 02:09:37 EEST 2009     root@etf.com.ua:/usr/obj/usr/src/sys/ETF  i386