Страница 1 из 1

Помогите разрулить маршрутизацию

Добавлено: 2009-04-08 11:31:44
proxyd
Есть два ADSL модема:
1. ADSL (ROUTER) смотрит на rl0
2. ADSL (BRIDGE) смотрит на rl1
rl0 - 192.168.1.2 -> 192.168.1.1 на интерфейсе поднят NAT
rl1 - 192.168.7.1
tun0 - 93.127.xxx.xxx -> 195.248.xxx.xxx на интерфейсе поднят NAT

После установки соединения в таблице маршрутизации получается что то типа такого:

# netstat -rn

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

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            195.248.xxx.xxx    UGS         1  1807216   tun0
10.0.0.0/24        link#3             UC          0        0    rl2
127.0.0.1          127.0.0.1          UH          0       50    lo0
192.168.1.0/24     link#2             UC          0        0    rl0
192.168.7.0/24     link#1             UC          0        0    rl1
195.248.xxx.xxx    93.127.xx.xx       UGH         1        0   tun0
...
Хочу извинить маршрут по умолчанию чтобы исходящий трафик уходил через шлюз 192.168.1.1

# route change default 192.168.1.1

В результате получаю следующее:

# netstat -rn

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

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.1    UGS         1  1807216   tun0
10.0.0.0/24        link#3             UC          0        0    rl2
127.0.0.1          127.0.0.1          UH          0       50    lo0
192.168.1.0/24     link#2             UC          0        0    rl0
192.168.7.0/24     link#1             UC          0        0    rl1
195.248.xxx.xxx    93.127.xx.xx       UGH         1        0   tun0
...
Исходящий трафик начинает уходить в нужный шлюз, но почемуто пропадает доступ из внешнего мира к 93.127.xx.xx
Помогите настроить чтобы все работало как нужно

Re: Помогите разрулить маршрутизацию

Добавлено: 2009-04-09 0:34:51
Alex Keda
картинку давай

Re: Помогите разрулить маршрутизацию

Добавлено: 2009-04-09 1:54:49
proxyd
lissyara писал(а):картинку давай
Какую картинку?

Re: Помогите разрулить маршрутизацию

Добавлено: 2009-04-09 8:47:23
tetsio
Ничего не понятно)
ну как я понял.. твой шлюз компьютерный стоит и смотрит в локальную сеть через интерфейс rl2 и имеет там адрес 10.0.0.Х
rl1 смотрит в бриджованный мопед, и через него поднимается PPP туннель tun0
rl0 смотрит в роутер-мопед который имеет адрес 192.168.1.1, а сам комп 192.168.1.2
И тебе надо послать трафик через роутер-мопед. Но в то же время оставить работоспособность второго интерфейса?

может тогда попробуешь route add 192.168.1.1 -iface rl0 ? Т.е. явно указать интерфейс.
и

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

ipfw table 1 add 192.168.1.0/24
ipfw table 1 add 10.0.0.0/24
ipfw add 10 fwd 195.248.xxx.xxx ip from 93.127.xxx.xxx to not "table(1)" 
в table(1) надо добавить все твои сетки свои. хотя с другой стороны будет ли это работать зависит от что на адресе 93.127.xxx.xxx висит. Если там стоит сервер (приложение) , которое само слушает этот адрес, то может и заработает :oops:

Re: Помогите разрулить маршрутизацию

Добавлено: 2009-04-09 9:01:07
hizel

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

route add  93.127.xx.xx yy.yy.yy.yy

Re: Помогите разрулить маршрутизацию

Добавлено: 2009-04-09 13:52:08
proxyd
tetsio писал(а):Ничего не понятно)
Вы меня абсолютно верно поняли
tetsio писал(а):может тогда попробуешь route add 192.168.1.1 -iface rl0 ?
Это маршрут есть в таблице маршрутизации

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

192.168.1.1        00:1c:f0:a2:e6:a9  UHLW        1      460    rl0   1124
Вобще то я думал обойтись по возможности без форвардинга, а если уж его использовать так не логичнее оставить таблицу маршрутизации в покое и тупо заворачивать весь трафик с локалки на интерфейс rl0?
hizel писал(а):route add 93.127.xx.xx yy.yy.yy.yy
Если вы имеете виду route add 93.127.xx.xx 195.248.xxx.xxx, пробовал не помогает. Если нет тогда что вы имели ввиду?

Как я уже писал, я меняю маршрут по умолчанию с 195.248.xxx.xxx на 192.168.1.1 после чего весь трафик начинает ходить через rl0 а не tun0
Но возникает проблема, перестает пинговаться 93.127.xx.xx, точнее сказать пакеты то он принимает а вот обратно возвращать не хочет.
Добавил еще один маршрут для подсети 195.248.xxx.xxx/19

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

195.248.xxx.xxx/19   195.248.xxx.xxx    UGS         0     6679   tun0
В итоге часть трафика который адресован провайдеру из подсети 195.248.xxx.xxx/19 уходит через tun0 также с этой подсети адрес 93.127.xx.xx нормально пингуется. А мне нужно чтобы доступ к 93.127.xx.xx был из любой подсети от любого провайдера. Ну не прописывать же всех в таблице маршрутизации :)

Re: Помогите разрулить маршрутизацию

Добавлено: 2009-04-09 14:17:14
hizel
вякнул не подумав, да вам нужен форвард

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

fwd 195.248.xxx.xxx from 93.127.xx.xx to any out via <интерфейс куда указывает дефолтный роут>

Re: Помогите разрулить маршрутизацию

Добавлено: 2009-04-09 15:17:10
proxyd
hizel писал(а):

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

fwd 195.248.xxx.xxx from 93.127.xx.xx to any out via <интерфейс куда указывает дефолтный роут>
Что то не работает.

Вот что у меня в конфигах:

# cat /etc/rc.conf

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

defaultrouter="192.168.1.1"
gateway_enable="YES"
hostname="gw1"

ifconfig_rl0="inet 192.168.1.2 netmask 255.255.255.0"
ifconfig_rl1="inet 192.168.7.1 netmask 255.255.255.0"
ifconfig_rl2="inet 10.0.0.1 netmask 255.255.255.0"

firewall_enable="YES" 
firewall_type="OPEN" 

ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="isp"

natd_enable="YES" 
natd_interface="rl0" 
natd_flags="-f /etc/natd.conf"
# ipfw show

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

00050  1095549   776113080 divert 8668 ip4 from any to any via rl0
00100      100       20336 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
65000 26312019 17959897182 allow ip from any to any
65535        0           0 deny ip from any to any
ipfw add 60 fwd 195.248.xxx.xxx ip from 93.127.xx.xx to any out via rl0
пинг вроде как под правило попадает но все по прежнему ответа как небыло так и нет.

Re: Помогите разрулить маршрутизацию

Добавлено: 2009-04-09 15:37:28
hizel
всё таки fwd лучше сделать до natd

Re: Помогите разрулить маршрутизацию

Добавлено: 2009-04-09 15:57:10
proxyd
hizel писал(а):всё таки fwd лучше сделать до natd

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

00040     1826       91363 fwd 195.248.xxx.xxx ip from 93.127.xxx.xxx to any out via rl0
00050  1095549   776113080 divert 8668 ip4 from any to any via rl0
00100      100       20336 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
65000 26312019 17959897182 allow ip from any to any
65535        0           0 deny ip from any to any
Вы правы поставил fwd перед divert'ом и пинг забегал, но по ходу возник еще один вопрос а будет ли работать при таком раскладе редирект портов прописанный в NAT'е.

Re: Помогите разрулить маршрутизацию

Добавлено: 2009-04-09 16:53:55
hizel
форвардинг портов работает на том адресе, на который настроен :pardon:
никто не запрещает запустить два и более натов ;)

Re: Помогите разрулить маршрутизацию

Добавлено: 2009-04-09 17:19:52
proxyd
hizel писал(а):форвардинг портов работает на том адресе, на который настроен
никто не запрещает запустить два и более натов
Так в том то и дело что у меня запущено два NAT'а один natd на интерфейсе rl0 другой ppp'шный на tun0
вот собственно:
# cat /etc/ppp/ppp.conf

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

default:
    ...
isp:
    set authname username
    set authkey password
    set dial
    set device PPPoE:rl1
    set login
    nat enable yes
    nat same_ports yes
    nat use_sockets yes
    nat deny_incoming no
    nat unregistered_only yes
    nat port tcp 10.0.0.34:3389 3389
    add default HISADDR
Пока решил вопрос твоим способом, добавил еще одно правило в fwd в фарвол вот так:

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

ipfw add 45 fwd 195.248.xxx.xxx ip from 10.0.0.34 3389 to any out via rl0
Вроде все работает, но мне кажется что все это как то неправильно