Страница 1 из 1
ssh 2 провайдера
Добавлено: 2009-10-01 11:31:04
Nalex1
Есть FreeBSD 7.1
Выступает в роли маршрутизатора.
Был один провайдер все ок из вне заходит и все ок. Но появился второй провайдер т.е. 3-я сетевая карта. Прописал в rc.conf данные о сетевой карте. Так же внес данные для файрвола. Внес правило в файрвол для доступа из вне через второго провайдера к серверу. Но почему то не заходит все равно ан сервер. В чем может быть проблема? если переключаюсь на второго провайдера то все ок заходит из вне..но тогда по первому зайти по ссх из вне.
Подскажите где еще настройки какие надо сделать?
Re: ssh 2 провайдера
Добавлено: 2009-10-01 11:33:55
Gamerman
Либо ссш не слушает все интерефейсы либо фаервол прикрыл порт.
Re: ssh 2 провайдера
Добавлено: 2009-10-01 11:35:44
Гость
rc.conf
firewall_simple_oif="vr0"
firewall_simple_onet="x.x.x.x"
firewall_simple_oip="x.x.x.x"
firewall_simple_oif2="vr1"
firewall_simple_onet2="x.x.x."
firewall_simple_oip2="x.x.x.x"
firewall_simple_iif="xl0"
firewall_simple_inet="192.168.0.0"
firewall_simple_iip="192.168.0.1"
rc.firewall
# set these to your outside(provider1) interface network
oif="$firewall_simple_oif"
onet="$firewall_simple_onet"
oip="$firewall_simple_oip"
# set these to your outside(provider2) interface network
oif2="$firewall_simple_oif2"
onet2="$firewall_simple_onet2"
oip2="$firewall_simple_oip2"
# set these to your inside interface network
iif="$firewall_simple_iif"
inet="$firewall_simple_inet"
iip="$firewall_simple_iip"
Re: ssh 2 провайдера
Добавлено: 2009-10-01 11:36:33
Гость
после нат
#SSH provider 2
${fwcmd} add pass tcp from any to ${oip2} 22 setup
#SSH
${fwcmd} add pass tcp from any to ${oip} 22 setup
Re: ssh 2 провайдера
Добавлено: 2009-10-01 12:31:21
nalex1
Получается при и подключение из вне (через второго провайдера) пакеты уходят обратно, потому что идут через дефолтовый роутер..т.е. через первого провайдера..
Подскажите как реализовать правильно?
Re: ssh 2 провайдера
Добавлено: 2009-10-01 12:34:52
Gamerman
nalex1 писал(а):Получается при и подключение из вне (через второго провайдера) пакеты уходят обратно, потому что идут через дефолтовый роутер..т.е. через первого провайдера..
Подскажите как реализовать правильно?
Так и есть. А разве второй провайдер не может получить пакеты, которые уходят через первого?
Re: ssh 2 провайдера
Добавлено: 2009-10-01 15:11:23
gortum
нужно делать маркировку пакетов
Re: ssh 2 провайдера
Добавлено: 2009-10-01 16:13:44
sch
nalex1 писал(а):Получается при и подключение из вне (через второго провайдера) пакеты уходят обратно, потому что идут через дефолтовый роутер..т.е. через первого провайдера..
Подскажите как реализовать правильно?
1) для подключения через второго провайдера запускать второй SSHD с другим портом (например sshd2port=40222).
В IPFW использовать
fwd $isp2gw tcp from me $sshd2port to any out via $isp2if
И потом подключаться по адресу второго провайдера на этот другой порт.
2) начиная с релиза 7.2 - собрать ядро с опцией
routetables. Настроить дополнительную таблицу маршрутизации с дефолтным шлюзом второго провайдера (
setfib 1 route add default $isp2gw). В общесистемном конфиге
sshd указать явно
ListenAddress только для адреса первого провайдера. Запустить второй
SSHD с привязкой к дополнительной таблице маршрутизации и с указанием адреса второго провайдера (
setfib 1 /usr/sbin/sshd -o ListenAddress=isp2ip).
Re: ssh 2 провайдера
Добавлено: 2009-10-01 18:55:27
nalex2
Спасибо за ответы попробую!
Re: ssh 2 провайдера
Добавлено: 2009-10-19 17:04:32
Yurkinson
Рабочий пример для ipfw
имеем три WAN интерфейса к трем провайдерам (для каждого интерфейса соответственно адрес ext_addr1,
шлюз gtw_addr и название ext_if).
В ядре включить данные опции
options IPFILTER
options IPDIVERT #Разрешает переадресовывать пакеты дополнительным приложениям
options IPFIREWALL_FORWARD #Разрешает работу в прозрачном режиме для проходящих пакетов
Правила будут иметь такой вид (ставить в начале скрипта). Нормально форвардится все касающееся TCP и ICMP,
для UDP не работает - надо делать через множественную маршрутизацию (как описал автор выше)
ipfw add fwd ${gtw_addr1} all from ${ext_addr1} to any out xmit ${ext_if2}
ipfw add fwd ${gtw_addr1} all from ${ext_addr1} to any out xmit ${ext_if3}
ipfw add fwd ${gtw_addr2} all from ${ext_addr2} to any out xmit ${ext_if1}
ipfw add fwd ${gtw_addr2} all from ${ext_addr2} to any out xmit ${ext_if3}
ipfw add fwd ${gtw_addr3} all from ${ext_addr3} to any out xmit ${ext_if1}
ipfw add fwd ${gtw_addr3} all from ${ext_addr3} to any out xmit ${ext_if2}
Если два интерфейса, то правила естественно выглядят проще
ipfw add fwd ${gtw_addr1} all from ${ext_addr1} to any out xmit ${ext_if2}
ipfw add fwd ${gtw_addr2} all from ${ext_addr2} to any out xmit ${ext_if1}
Работает проверено и не надо запускать несколько программ (к сожалению для UDP приходится лепить отдельные таблицы).