два провайдера в один сервер

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
гость
проходил мимо

два провайдера в один сервер

Непрочитанное сообщение гость » 2009-08-03 8:55:34

Люди умные, доброй ночи всем, помогите
не выходит каменный цветок.
чтото гдето не так...
есть freebsd, два провайдера на разные карты, внутренние сети (2 шт) на одной карте.

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

ifconfig_rl0="inet 11.11.11.11 netmask 255.255.255.240"
ifconfig_vr0="inet 22.22.22.22 netmask 255.255.255.224"
ifconfig_xl0="inet 192.168.21.1 netmask 255.255.255.0"
ifconfig_xl0_alias0="inet 192.168.25.1 netmask 255.255.255.0"
gateway_enable="yes"
defaultrouter="22.22.22.222"
шлюз не верно написан, ну да пусть. он к vr0

есть NAT, и есть форвард на внутренний сервер

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

ex=rl0
ex1=vl0
ipex=11.11.11.11
ipex1=22.22.22.22

#3389 port
$fw add divert 8886 tcp from any to $ipex 3389 via $ex
$fw add divert 8887 tcp from any to $ipex1 3389 via $ex1

$fw add divert natd ip from any to any out via $ex 
$fw add divert natd ip from any to $ipex in via $ex

#3389 port rdp
#$fw add allow tcp from 85.12.221.13 to 192.168.21.2 3389
$fw add divert 8886 tcp from 192.168.21.2 to any 3389 via $ex
natd -p 8886 -n $ex -redirect_port tcp 192.168.21.2:3389 3389

$fw add divert 8887 tcp from 192.168.21.2 to any 3389 via $ex1
natd -p 8887 -n $ex1 -redirect_port tcp 192.168.21.2:3389 3389

$fw add allow tcp from any to 192.168.21.2 3389 via any
$fw add allow ip from 192.168.21.2 to any
подключаюсь через 22.22.22.22 - все нормально захожу.
через 11.11.11.11 - фигу.
ставлю gw=11.11.11.111
захожу через 11.11.11.11
может маршрут какой прописать? я так понимаю, что если запрос пришел через одну карту, то ответ должен через нее же и уйти.
Последний раз редактировалось paradox 2009-08-03 9:04:26, всего редактировалось 2 раза.
Причина: ненадо создавать длинные имена гостей

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

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

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

Непрочитанное сообщение schizoid » 2009-08-03 9:12:37

как-то смутно понятно что хотелось сделать
и вообще для целей отладки лучше ipfw show показывать
на вскидку форвардов не хватает
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

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

Непрочитанное сообщение hizel » 2009-08-03 9:27:56

человек, видимо, хочет чтобы у него приходящие на одну сетевуху пакеты от туда и отдавались :]

в интернетах можно нагуглить примеры, для стареньких систем через forward , на новых через setfib
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
buryanov
ст. сержант
Сообщения: 311
Зарегистрирован: 2008-04-29 13:41:48
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение buryanov » 2009-08-03 9:30:20

добавь примерно такое

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

$fw add fwd $gw_not_default ip from 11.11.11.11 to any out
Дмитрий.
buryanov*ukr.net
icq# 118639660; skype: buryanov

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

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

Непрочитанное сообщение terminus » 2009-08-03 10:05:52

Тут уже было что-то похожее:
http://forum.lissyara.su/viewtopic.php?f=8&t=19141
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Гость
проходил мимо

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

Непрочитанное сообщение Гость » 2009-08-03 10:07:42

hizel писал(а):человек, видимо, хочет чтобы у него приходящие на одну сетевуху пакеты от туда и отдавались :]

в интернетах можно нагуглить примеры, для стареньких систем через forward , на новых через setfib
типа этого?
buryanov писал(а):$fw add fwd $gw_not_default ip from 11.11.11.11 to any out
если эта строка
hizel писал(а):чтобы у него приходящие на одну сетевуху пакеты от туда и отдавались
то тогда она и нужна

да, сервак старый 4.11 еще ))

Гость
проходил мимо

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

Непрочитанное сообщение Гость » 2009-08-03 13:01:29

buryanov писал(а):добавь примерно такое

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

$fw add fwd $gw_not_default ip from 11.11.11.11 to any out
не робит...
входящие пакеты есть, исходящих нет((

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

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

Непрочитанное сообщение FireWall » 2009-08-03 14:25:28

fwd ${гейт айпи провайдера} ip from ${твой внешний ай-пи} to any out

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

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

Непрочитанное сообщение FireWall » 2009-08-03 14:30:56

Гость писал(а):
buryanov писал(а):добавь примерно такое

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

$fw add fwd $gw_not_default ip from 11.11.11.11 to any out
не робит...
входящие пакеты есть, исходящих нет((
Тогда кидай полный набор своих правил, посмотрим чего и куда фтыкать

Аватара пользователя
buryanov
ст. сержант
Сообщения: 311
Зарегистрирован: 2008-04-29 13:41:48
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение buryanov » 2009-08-03 14:33:23

ipfw show
tcpdump и смотришь, что куда приходит и куда уходит
Дмитрий.
buryanov*ukr.net
icq# 118639660; skype: buryanov

Гость
проходил мимо

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

Непрочитанное сообщение Гость » 2009-08-03 14:38:23

buryanov писал(а):ipfw showtcpdump и смотришь, что куда приходит и куда уходит
только приходящие есть пакеты... чуть позже выложу. сервак рабочий, не могу отрывать людей постоянно
FireWall писал(а):Тогда кидай полный набор своих правил, посмотрим чего и куда фтыкать
ок, чуть позже

Аватара пользователя
buryanov
ст. сержант
Сообщения: 311
Зарегистрирован: 2008-04-29 13:41:48
Откуда: Харьков
Контактная информация:

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

Непрочитанное сообщение buryanov » 2009-08-03 14:58:11

ipfw show, должен увидеть примерно такое

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

01200      72232       3352803 fwd 85.9.2.1 ip from 85.9.2.6 to any out
те, все исходящие пакеты попадают под правило и уходят обратно через тотже интерфейс. Если счётчики нулевые, то под правило ничего не попадает, возможно обрабатывается раньше.
1) tcpdump -i ${интерфейс не по умолчанию}
2) tcpdump -i ${интерфейс по умолчанию}
если во втором случае вы увидите исходящие пакеты, те, пакеты уходят через не тот интерфейс, у вас неправильно расположено правило.
Если вы не будете постоянно дёргать фаервол(перегружать его весь), то, люди, которых обслужует сервак, незаметят, никаких изманений и неудобств в работе
Дмитрий.
buryanov*ukr.net
icq# 118639660; skype: buryanov

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

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

Непрочитанное сообщение FireWall » 2009-08-03 15:18:25

buryanov писал(а):ipfw show, должен увидеть примерно такое

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

01200      72232       3352803 fwd 85.9.2.1 ip from 85.9.2.6 to any out
те, все исходящие пакеты попадают под правило и уходят обратно через тотже интерфейс. Если счётчики нулевые, то под правило ничего не попадает, возможно обрабатывается раньше.
а что счетчики покажут? ну папал пакет под это правило и что? может там замыкание или кольцо какое получилось, правильным будет юзать Ipfw log вот там видно как пакеты ходят.
1) tcpdump -i ${интерфейс не по умолчанию}
2) tcpdump -i ${интерфейс по умолчанию}
Слишком мало параметров. tcpdaump может столько на экран выкинуть, что комп подвиснет или не читабельно будет. Если у него постоянно люди в инете сидят.
Если вы не будете постоянно дёргать фаервол(перегружать его весь), то, люди, которых обслужует сервак, незаметят, никаких изманений и неудобств в работе
Не фига они не заметят. сами правила перезапускаются в доли секнунды. NAT долго ребутитс, если на нем есть коннекты.

master099
проходил мимо
Сообщения: 3
Зарегистрирован: 2009-08-02 20:21:48

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

Непрочитанное сообщение master099 » 2009-08-03 19:14:55

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

#rc.conf
hostname="localhost"
inet_enable="NO"
local_startup=/etc/rc.d
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_logging="YES"
tcp_extension="NO"
tcp_drop_synfin="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"

natd_enable="YES"
natd_program="/sbin/natd"
natd_interface="rl0"
natd_flags="-f /etc/natd.conf"

squid_enable="YES"

pptpd_enable="YES"

ifconfig_rl0="inet 22.22.22.22 netmask 255.255.255.224"
ifconfig_vr0="inet 11.11.11.11 netmask 255.255.255.224"
ifconfig_xl0="inet 192.168.21.1 netmask 255.255.255.0"
ifconfig_xl0_alias0="inet 192.168.25.1 netmask 255.255.255.0"
gateway_enable="yes"
defaultrouter="22.22.22.222"

kern_securelevel_enable="NO"
keymap="ru.koi8-r"
nfs_reserved_port_only="YES"
sendmail_enable="YES"
sshd_enable="YES"
tcp_extensions="YES"
named_enable="YES"

ipacctd_enable="YES"
ipacctd_flags="-v"
ipacctd_rules="xl0"
ipacctd_rule_xl0_flags="-p 10001 -f /var/log/traffic_xl0.log"
ipacctd_rule_xl0_pid="/var/run/ipacctd.xl0"
rc.firewall

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

00100 check-state
00200 divert 10001 ip from any to any via xl0
00300 queue 5 tcp from any to 192.168.25.20
00400 queue 6 tcp from any to 192.168.25.21
00500 queue 7 tcp from any to 192.168.25.22
00600 queue 8 tcp from any to 192.168.21.3
00700 queue 9 tcp from any to 192.168.21.0/24
00800 queue 10 tcp from any to 192.168.25.0/24
01600 allow ip from any to any via xl0
01700 allow esp from any to any
01800 allow ip from any to any via gif0
01900 divert 8886 tcp from any to 22.22.22.22 3389 via rl0
02000 divert 8887 tcp from any to 11.11.11.11 3389 via rl0
02100 divert 8668 ip from any to any out xmit rl0
02300 divert 8668 ip from any to 22.22.22.22 in recv rl0
02400 divert 8886 tcp from 192.168.21.2 to any 3389 via rl0
02500 divert 8887 tcp from 192.168.21.2 to any 3389 via rl0
02600 allow tcp from any to 192.168.21.2 3389 via any
02700 allow ip from 192.168.21.2 to any
02800 allow tcp from any to me 1723
02900 allow gre from any to any
03000 allow ip from any to any via tun0
04000 allow icmp from any to any
04100 allow tcp from any 9091 to any
04200 allow tcp from any to any 9091
04300 allow tcp from any 80,21,20,9193,5190,443,25,110,8080,7777 to any
04500 allow tcp from any 143,993,2020,33333,3389,1723,3250,24468 to any
04700 allow tcp from any 3389,4899 to any
65535 deny ip from any to any
добавил
ipfw add 2050 fwd 11.11.11.111 ip from any to 213.191.0.0/24
где последним сеть голдена

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

relay# tcpdump -i vr0 port 3389
tcpdump: listening on vr0
22:05:00.343700 fttb.ur.ru.62553 > 11.11.11.11.rdp: S 1195246708:1195246708(0) win 64512 <mss 1420,nop,nop,sackOK> (DF)
22:05:00.343720 11.11.11.11.rdp > fttb.ur.ru.62553: R 0:0(0) ack 1195246709 win 0
тепрь ответы идут, однако не работает rdp(
ну и получил неприятность, что меня выкинуло с другого интерфейса ;-)

ipfw add 2350 fwd 11.11.11.111 ip from any to 213.191.0.0/24

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

relay# tcpdump -i vr0 port 3389
tcpdump: listening on vr0
22:00:19.572548 fttb.ur.ru.62433 > 11.11.11.11.rdp: S 2719445670:2719445670(0) win 64512 <mss 1420,nop,nop,sackOK> (DF)
22:00:19.572615 22.22.22.22.rdp > fttb.ur.ru.62433: R 0:0(0) ack 2719445671 win 0
однако...
ну и ничего не соединяется...

master099
проходил мимо
Сообщения: 3
Зарегистрирован: 2009-08-02 20:21:48

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

Непрочитанное сообщение master099 » 2009-08-03 19:21:44

FireWall писал(а):
Гость писал(а):
buryanov писал(а):добавь примерно такое

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

$fw add fwd $gw_not_default ip from 11.11.11.11 to any out
не робит...
входящие пакеты есть, исходящих нет((
Тогда кидай полный набор своих правил, посмотрим чего и куда фтыкать
наврал я
есть исходящие пакеты
собственно картина такая же как выше в логах

master099
проходил мимо
Сообщения: 3
Зарегистрирован: 2009-08-02 20:21:48

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

Непрочитанное сообщение master099 » 2009-08-03 19:27:56

добавил
$fw add fwd 11.11.11.111 ip from 11.11.11.11 to any out

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

relay# tcpdump -i vr0 port 3389
tcpdump: listening on vr0
22:05:00.343700 fttb.ur.ru.62553 > 11.11.11.11.rdp: S 1195246708:1195246708(0) win 64512 <mss 1420,nop,nop,sackOK> (DF)
22:05:00.343720 11.11.11.11.rdp > fttb.ur.ru.62553: R 0:0(0) ack 1195246709 win 0
ответы идут, однако не работает rdp(
гдето чтото еще в файрволе подправить надо...

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

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

Непрочитанное сообщение FireWall » 2009-08-04 2:27:42

еще бы /etc/natd.conf посмотреть

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

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

Непрочитанное сообщение FireWall » 2009-08-04 2:34:39

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

02400 divert 8886 tcp from 192.168.21.2 to any 3389 via rl0
02500 divert 8887 tcp from 192.168.21.2 to any 3389 via rl0
если мыслить логично, ты хочешь завернуть пакеты с дефолтного ифейса не недефолтный.

лучше сделать так:

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

02400 divert 8886 tcp from 192.168.21.2 to any 3389 out
02500 divert 8887 tcp from 192.168.21.2 to any 3389 out
тебе просто надо в natd.conf сказать какой прот будет висеть на каком внешнем ифейсе. и заварачивать соответствено

FireWall
ефрейтор
Сообщения: 58
Зарегистрирован: 2007-09-04 8:59:50

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

Непрочитанное сообщение FireWall » 2009-08-04 2:45:37

Моя реализация:

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

[root@irmet /var]# cat /etc/natd.conf
log yes
log_denied yes
use_sockets yes
same_ports yes
unregistered_only yes
dynamic yes
instance default
interface ng0
port 8668
instance DSI
interface rl0
port 8778

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

#Перекидываем трафик из локалки
03100 skipto 3500 ip from 195.206.57.50 to 192.168.90.0/24 out via age0
#Завернул только свой айпи, ибо необходимости другой нет
03200 divert 8778 tcp from 192.168.90.10 to any dst-port 110,995,25,465,22,1523,4899,3389 out
#Входящие пакеты для недефолтного маршрута
03300 fwd 195.206.57.49 ip from 195.206.57.50 to any out
#Ну тут все понятно :)
04000 divert 8778 ip from any to 195.206.57.50 in recv rl0
04001 divert 8668 ip from any to 90.188.251.113 in recv ng0
09000 divert 8778 ip from 192.168.90.0/24 to any out xmit rl0
09001 divert 8668 ip from 192.168.90.0/24 to any out xmit ng0
Маршрутизация у меня средствами quagga

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

ip route 0.0.0.0/0 213.228.116.147 5
ip route 0.0.0.0/0 195.206.57.49 10

[root@irmet /usr/local/etc/quagga]# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            213.228.116.147    UG1         0 29710804    ng0

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

ng0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1492
        inet 90.188.251.113 --> 213.228.116.147 netmask 0xffffffff

rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 4c:00:10:53:9b:6b
        inet 195.206.57.50 netmask 0xfffffff8 broadcast 195.206.57.55
        media: Ethernet autoselect (10baseT/UTP)
        status: active