Page 3 of 3 FirstFirst 123
Results 31 to 45 of 45

Thread: Маршрутизация по источнику (Source Routing) на роутере

  1. #31
    wl500gp-1.9.2.7-d-r1222 + StoreJet 35 Ultra >>> rtorrent+rutorrent -|- lighhtpd + ssl + auth -|- vnStat + vnStat PHP frontend -|- vsftpd -|- squid + lightsquid...

  2. #32

    Cool Разделение трафика между провайдерами и FWMARK

    Всем доброго дня!
    Имеется роутер wl-500w (прошивка последняя) с двумя подключенными провайдерами:
    1. eth1 ip 77.239.196.17 gw 77.239.196.1
    2. vlan1 ip 10.10.10.3 gw 10.10.10.1
    Локалка: 192.168.1.0/24
    Решил завернуть udp трафик идущий на порт 1194 в канал провайдера №2.
    Создал таблицу 4 для второго провайдера
    Code:
    touch /etc/iproute2/rt_tables
    ip route show table main | grep -v ^default \
         | while read ROUTE ; do
          ip route add table 4 $ROUTE
    done
    ip route add table 4 default via 10.10.10.1
    ip route show table 4
    
    77.239.196.1 dev eth1  scope link
    192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.1
    10.10.10.0/24 dev vlan1  proto kernel  scope link  src 10.10.10.3
    77.239.192.0/20 dev eth1  proto kernel  scope link  src 77.239.196.17
    127.0.0.0/8 dev lo  scope link
    default via 10.10.10.1 dev vlan1
    Далее маркирую пакеты:
    Code:
    iptables -t mangle -A PREROUTING -p udp --dport 1194 -s 192.168.1.0/24 -j MARK --set-mark 4
    Натим пакеты на втором интерфейсе:
    Code:
    iptables -t nat -A POSTROUTING -o vlan1 -j SNAT --to-source 10.10.10.3
    Правим табицу маршрутизации №4 для маркированных пакетов:
    Code:
    ip rule add fwmark 4 table 4
    ip rule show
    
    0:      from all lookup local
    32765:  from all fwmark        4 lookup 4
    32766:  from all lookup main
    32767:  from all lookup 253
    Вроде все. Запускаем openvpn и tcpdump на интерфейсе №2
    Code:
     tcpdump -i vlan1
    
    00:17:09.809660 IP 10.10.10.3.54816 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
    00:17:09.885709 IP xxx-xx-251-80.pride-net.ru.1194 > 10.10.10.3.54816: UDP, length: 50
    00:17:11.881966 IP 10.10.10.3.54816 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
    00:17:11.956202 IP xxx-xx-251-80.pride-net.ru.1194 > 10.10.10.3.54816: UDP, length: 54
    00:17:12.597098 arp who-has 10.10.10.1 tell 10.10.10.3
    00:17:12.598064 arp reply 10.10.10.1 is-at 00:1e:be:de:e6:b7
    00:17:13.909266 IP 10.10.10.3.54816 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
    00:17:13.988404 IP xxx-xx-251-80.pride-net.ru.1194 > 10.10.10.3.54816: UDP, length: 54
    00:17:15.959057 IP 10.10.10.3.54816 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
    00:17:16.038802 IP xxx-xx-251-80.pride-net.ru.1194 > 10.10.10.3.54816: UDP, length: 54
    00:17:18.008920 IP 10.10.10.3.54816 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
    Соединение не устанавливается, пакеты уходят в верном направлении на интерфейс 2 провайдера и возвращаются, но только на интерфейс vlan1, но не дальше.

    Запускаю снифер на br0
    Code:
    tcpdump -i br0 | grep 1194
    
    00:19:45.674915 IP 192.168.1.15.54818 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
    00:19:57.210260 IP 192.168.1.15.54818 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
    00:19:59.510409 IP 192.168.1.15.54818 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
    00:20:10.654456 IP 192.168.1.15.54819 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
    00:20:12.920396 IP 192.168.1.15.54819 > xxx-xx-251-80.pride-net.ru.1194: UDP, length: 42
    Пакеты уходят, но не возвращаются!
    В чем косяк подскажите?
    Last edited by OTMOPO3OK; 06-11-2009 at 12:08.

  3. #33
    Все заработало, вот конфиг
    Решил завернуть udp трафик идущий на порт 1194 в канал провайдера №2.
    Создал таблицу 4 для второго провайдера
    Code:
    touch /etc/iproute2/rt_tables
    ip route add table inet_adsl default via 10.10.10.
    ip route show table inet_adsl
    default via 10.10.10.1 dev vlan1
    Далее маркирую пакеты:
    Code:
    iptables -t mangle -A PREROUTING -p udp --dport 1194 -s 192.168.1.0/24 -j MARK --set-mark 4
    Натим пакеты на втором интерфейсе:
    Code:
    iptables -t nat -A POSTROUTING -o vlan1 -j SNAT --to-source 10.10.10.3
    Правим табицу маршрутизации №4 для маркированных пакетов:
    Code:
    ip rule add fwmark 4 table inet_adsl
    ip rule add from 192.168.1.0/24 table inet_adsl
    ip rule show
    
    0:      from all lookup local
    32764:  from 192.168.1.0/24 lookup inet_adsl
    32765:  from all fwmark        4 lookup inet_adsl
    32766:  from all lookup main
    32767:  from all lookup 253
    Last edited by OTMOPO3OK; 12-11-2009 at 06:28.

  4. #34
    для балансировки соединений в большинстве случаев достаточно единственной команды

    Пусть $IF1 будет именем первого интерфейса, а $IF2 -- именем второго.
    Далее, $P1 это IP-адрес шлюза провайдера 1, а $P2 -- IP адрес шлюза провайдера 2.

    ip route add default scope global nexthop via $P1 dev $IF1 weight 1 nexthop via $P2 dev $IF2 weight 1 и т.д.

  5. #35
    Quote Originally Posted by lll123lll View Post
    если основной канал падает , то дефолтный маршрут с метрикой 0 уходит
    все начинают ходить через дефолт с метрикой 1
    не надо никаких демонов и пр.
    снаружи есть доступ через оба WAN
    Не получилось получить доступ из вне по второму WANу. Делал по Вашей инструкции, что-то не так. Вторым инетом служит комп с подключенным интернетом. Интернет ходит но роутер даже не пингуется (WAN2) со второго компа.

    Что может быть?

  6. #36
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Exclamation

    вам нужна маршрутизация по источнику, для это надо воспользоваться возможностями iproute2

    iproute add rule и так далее и сделать ДВЕ отдельных таблицы маршрутизации.

  7. #37
    Quote Originally Posted by AndreyPopov View Post
    вам нужна маршрутизация по источнику, для это надо воспользоваться возможностями iproute2

    iproute add rule и так далее и сделать ДВЕ отдельных таблицы маршрутизации.
    Может я плохо объяснил, что мне нужно.
    Нужна помощь в настройке связи между компьютером (ББ, стоит линукс Мандрива) и роутером WL500gp.

    Инет ББ > (wlan2) >
    Инет l2tp > (wlan0) > WL500gp < (br0) < Домашняя сеть ДС

    Инет ходит нормально, но нужно видеть расшары на ББ, из ДС.

    [admin@ASUS WL500gp root]$ ip route
    Kernel IP routing table
    Destination Gateway Genmask Flags MSS Window irtt Iface
    10.10.10.2 10.21.68.1 255.255.255.255 UGH 40 0 0 vlan1
    10.10.12.3 10.21.68.1 255.255.255.255 UGH 40 0 0 vlan1
    94.45.64.34 192.168.3.8 255.255.255.255 UGH 40 0 0 vlan2
    192.168.3.8 192.168.3.8 255.255.255.255 UGH 40 0 0 vlan2
    10.0.0.28 10.21.68.1 255.255.255.255 UGH 40 0 0 vlan1
    192.168.3.0 0.0.0.0 255.255.255.0 U 40 0 0 vlan2
    192.168.1.0 0.0.0.0 255.255.255.0 U 40 0 0 br0
    10.21.68.0 0.0.0.0 255.255.254.0 U 40 0 0 vlan1
    10.0.0.0 10.21.68.1 255.0.0.0 UG 40 0 0 vlan1
    10.0.0.0 10.21.68.1 255.0.0.0 UG 40 0 0 vlan1
    127.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 lo
    0.0.0.0 94.27.127.8 0.0.0.0 UG 40 0 0 ppp0
    0.0.0.0 192.168.3.8 0.0.0.0 UG 40 0 0 vlan2
    0.0.0.0 10.21.68.1 0.0.0.0 UG 40 0 0 vlan1
    iptables-save
    # Generated by iptables-save v1.2.7a on Tue Jul 13 09:30:44 2010
    *nat
    :PREROUTING ACCEPT [5562:365511]
    :POSTROUTING ACCEPT [1751:105158]
    :OUTPUT ACCEPT [1760:107120]
    :VSERVER - [0:0]
    -A PREROUTING -d 94.27.68.125 -j VSERVER
    -A PREROUTING -d 10.21.69.241 -j VSERVER
    -A PREROUTING -d 192.168.3.2 -j VSERVER
    -A POSTROUTING -s ! 94.27.68.125 -o ppp0 -j MASQUERADE
    -A POSTROUTING -s ! 10.21.69.241 -o vlan1 -j MASQUERADE
    -A POSTROUTING -s 192.168.1.0/255.255.255.0 -d 192.168.1.0/255.255.255.0 -o br0 -j MASQUERADE
    -A VSERVER -p tcp -m tcp --dport 8089 -j DNAT --to-destination 192.168.1.254:80
    -A VSERVER -p udp -m udp --dport 51255 -j DNAT --to-destination 192.168.1.3:5125 5
    -A VSERVER -p udp -m udp --dport 51300 -j DNAT --to-destination 192.168.1.8:5130 0
    -A VSERVER -p udp -m udp --dport 59263 -j DNAT --to-destination 192.168.1.7:5926 3
    -A VSERVER -p tcp -m tcp --dport 59263 -j DNAT --to-destination 192.168.1.7:5926 3
    -A VSERVER -p tcp -m tcp --dport 51413 -j DNAT --to-destination 192.168.1.8:5141 3
    -A VSERVER -p udp -m udp --dport 27272 -j DNAT --to-destination 192.168.1.4:2727 2
    -A VSERVER -p tcp -m tcp --dport 51300 -j DNAT --to-destination 192.168.1.8:5130 0
    -A VSERVER -p udp -m udp --dport 50711 -j DNAT --to-destination 192.168.1.4:5071 1
    -A VSERVER -p tcp -m tcp --dport 50711 -j DNAT --to-destination 192.168.1.4:5071 1
    -A VSERVER -p udp -m udp --dport 47197 -j DNAT --to-destination 192.168.1.4:4719 7
    -A VSERVER -p udp -m udp --dport 59265 -j DNAT --to-destination 192.168.1.7:5926 5
    -A VSERVER -p tcp -m tcp --dport 59265 -j DNAT --to-destination 192.168.1.7:5926 5
    -A VSERVER -p tcp -m tcp --dport 33058 -j DNAT --to-destination 192.168.1.4:3305 8
    -A VSERVER -p tcp -m tcp --dport 6000 -j DNAT --to-destination 192.168.1.8:6000
    -A VSERVER -p tcp -m tcp --dport 8077 -j DNAT --to-destination 192.168.1.10:8077
    -A VSERVER -p tcp -m tcp --dport 6000 -j DNAT --to-destination 192.168.1.8:6000
    -A VSERVER -p tcp -m tcp --dport 9091 -j DNAT --to-destination 192.168.1.8:9091
    -A VSERVER -p tcp -m tcp --dport 10000 -j DNAT --to-destination 192.168.1.8:1000 0
    COMMIT
    # Completed on Tue Jul 13 09:30:44 2010
    # Generated by iptables-save v1.2.7a on Tue Jul 13 09:30:44 2010
    *mangle
    :PREROUTING ACCEPT [37449:4162632]
    :INPUT ACCEPT [33894:3594506]
    :FORWARD ACCEPT [3305:524753]
    :OUTPUT ACCEPT [43593:31186134]
    :POSTROUTING ACCEPT [47039:31750434]
    COMMIT
    # Completed on Tue Jul 13 09:30:44 2010
    # Generated by iptables-save v1.2.7a on Tue Jul 13 09:30:44 2010
    *filter
    :INPUT DROP [3496:210987]
    :FORWARD ACCEPT [638:82448]
    :OUTPUT ACCEPT [43105:30758683]
    :MACS - [0:0]
    :SECURITY - [0:0]
    :logaccept - [0:0]
    :logdrop - [0:0]
    -A INPUT -p tcp -m tcp --dport 51778:51779 -j ACCEPT
    -A INPUT -m state --state INVALID -j DROP
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -i lo -m state --state NEW -j ACCEPT
    -A INPUT -i br0 -m state --state NEW -j ACCEPT
    -A INPUT -d 224.0.0.0/240.0.0.0 -p 2 -j ACCEPT
    -A INPUT -d 224.0.0.0/240.0.0.0 -p udp -m udp ! --dport 1900 -j ACCEPT
    -A INPUT -i ppp0 -m state --state NEW -j SECURITY
    -A INPUT -p udp -m udp --sport 67 --dport 68 -j ACCEPT
    -A INPUT -d 192.168.1.254 -p tcp -m tcp --dport 80 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 5122 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
    -A FORWARD -i br0 -o br0 -j ACCEPT
    -A FORWARD -m state --state INVALID -j DROP
    -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j TCPMSS --clamp-mss-to-pm tu
    -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -i ! br0 -o ppp0 -j DROP
    -A FORWARD -i ! br0 -o vlan1 -j DROP
    -A FORWARD -i ! br0 -m state --state NEW -j SECURITY
    -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
    -A FORWARD -o br0 -j DROP
    -A SECURITY -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 1/sec -j RETURN
    -A SECURITY -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j RETURN
    -A SECURITY -p udp -m limit --limit 5/sec -j RETURN
    -A SECURITY -p icmp -m limit --limit 5/sec -j RETURN
    -A SECURITY -j DROP
    -A logaccept -m state --state NEW -j LOG --log-prefix "ACCEPT " --log-tcp-sequen ce --log-tcp-options --log-ip-options
    -A logaccept -j ACCEPT
    -A logdrop -m state --state NEW -j LOG --log-prefix "DROP " --log-tcp-sequence - -log-tcp-options --log-ip-options
    -A logdrop -j DROP
    COMMIT
    Last edited by vital-s; 14-07-2010 at 14:51. Reason: Добавил вывод netstat -rn, iptables-save

  8. #38
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Exclamation

    вам надо делать ОТДЕЛЬНУЮ таблицу для КАЖДОГО интерфейса.

    зайдите на форум DD-WRT и нгайдите там тему Dual/Triple WAN - там есть автоматизированные скрипты!

    одной таблицей вы не обойдетесь - еще раз вам повторяю!

    для кажого WAN должна быть СВОЯ таблица!

    вот мой пример ЧЕТЫРЕХ провайдеров, которые подключены к одному WL-500GP.


    IF0=eth1
    IF1=eth0
    IF2=eth2
    IF3=eth3
    IF4=eth4
    P0_NET=195.24.153.64/27
    P01_NET=195.24.153.96/27
    P1_NET=195.24.153.32/29
    P2_NET=195.24.153.0/27
    P3_NET=195.24.153.48/29
    P4_NET=195.24.153.56/29
    IP0=195.24.153.68
    IP01=195.24.153.100
    IP1=195.24.153.34
    IP2=195.24.153.1
    IP3=195.24.153.50
    IP4=195.24.153.58
    P1=195.24.153.33
    P2=195.24.153.2
    P3=195.24.153.49
    P4=195.24.153.57


    ip rule add from 195.24.153.5 table 50 prio 500
    ip route flush table 50
    ip route add default via $P1 table 50

    ip route add $P0_NET dev $IF0 table 50
    ip route add $P01_NET dev $IF0 table 50
    ip route add $P1_NET dev $IF1 table 50
    ip route add $P2_NET dev $IF2 src $IP2 table 50
    ip route add $P3_NET dev $IF3 table 50
    ip route add $P4_NET dev $IF4 table 50
    ip route add 127.0.0.0/8 dev lo table 50

    ip route flush cache

    195.24.153.5 - это адрес роутера, за которым находится домашняя сеть.
    а далее у меня руками разбросан "load balancing" по всем провайдерам table 50

    116.0.0.0/6 via 195.24.153.57 dev eth4
    120.0.0.0/6 via 195.24.153.2 dev eth2
    132.0.0.0/6 via 195.24.153.49 dev eth3
    140.0.0.0/6 via 195.24.153.2 dev eth2
    136.0.0.0/6 via 195.24.153.57 dev eth4
    148.0.0.0/6 via 195.24.153.57 dev eth4
    144.0.0.0/6 via 195.24.153.49 dev eth3
    156.0.0.0/6 via 195.24.153.49 dev eth3
    152.0.0.0/6 via 195.24.153.2 dev eth2
    164.0.0.0/6 via 195.24.153.2 dev eth2
    160.0.0.0/6 via 195.24.153.57 dev eth4
    180.0.0.0/6 via 195.24.153.57 dev eth4
    176.0.0.0/6 via 195.24.153.49 dev eth3
    184.0.0.0/6 via 195.24.153.2 dev eth2
    204.0.0.0/6 via 195.24.153.2 dev eth2
    200.0.0.0/6 via 195.24.153.2 dev eth2
    212.0.0.0/6 via 195.24.153.57 dev eth4
    208.0.0.0/6 via 195.24.153.49 dev eth3
    220.0.0.0/6 via 195.24.153.49 dev eth3
    216.0.0.0/6 via 195.24.153.49 dev eth3
    default via 195.24.153.33 dev eth0

    P.S. у меня на роутере этом Firewall/NAT выключены, но на DD-WRT скрипты лежат с поддержкой Firewall/NAT и автоматическим load balancing
    Last edited by AndreyPopov; 14-07-2010 at 15:14.

  9. #39
    Quote Originally Posted by AndreyPopov View Post
    вам надо делать ОТДЕЛЬНУЮ таблицу для КАЖДОГО интерфейса.

    зайдите на форум DD-WRT и нгайдите там тему Dual/Triple WAN - там есть автоматизированные скрипты!

    одной таблицей вы не обойдетесь - еще раз вам повторяю!

    для кажого WAN должна быть СВОЯ таблица!
    Спасибо за совет, попробую разобраться, может пример есть, буду признателен.

  10. #40
    Join Date
    Apr 2008
    Location
    город самоваров и пряников
    Posts
    1,492
    Quote Originally Posted by AndreyPopov View Post
    вам нужна маршрутизация по источнику, для это надо воспользоваться возможностями iproute2

    iproute add rule и так далее и сделать ДВЕ отдельных таблицы маршрутизации.
    А как это сделать?
    В мануале по iproute2 сказано
    Code:
    4.2.1. Раздельный доступ
    
     Первый вопрос заключается в том, как организовать маршрутизацию таким образом, чтобы ответы на запросы, приходящие через определенного провайдера, скажем ровайдера 1, уходили через того же провайдера. 
    
     Давайте определим некоторые переменные. Пусть $IF1 будет именем первого интерфейса (if1 на рисунке), а $IF2 -- именем второго. Тогда $IP1 будет IP адресом $IF1 , а $IP2 -- IP адресом $IF2 . Далее, $P1 это IP-адрес шлюза провайдера 1, а $P2 -- IP адрес шлюза провайдера 2. Наконец, $P1_NET это IP сеть, к которой принадлежит $P1 , а $P2_NET -- сеть, к которой принадлежит $P2 . 
    
     Создадим две дополнительные таблицы маршрутизации, скажем T1 и T2. Добавим их в файл /etc/iproute2/rt_tables. Теперь можно настроить эти таблицы следующими командами: 
    ip route add $P1_NET dev $IF1 src $IP1 table T1
    ip route add default via $P1 table T1
    ip route add $P2_NET dev $IF2 src $IP2 table T2
    ip route add default via $P2 table T2
    На роутере нет файла /etc/iproute2/rt_tables. А вот, скажем, на Убунте есть.

    The Miron, спасибо за ответ, уже легче. Зря только в эту ветку перенесли, вопрос относится не только к WL500gP-v.2.
    Last edited by MrGalaxy; 05-05-2011 at 20:16.
    Ламер, деградировавший до чайника.

    1. WL-500gP(v1)|RAM 128M|Entware 3.0.4-r4844M|Доработаны цепи питания|Заменены светодиоды
    Samsung G2 Portable HX-MU050DC|Скрипт поднятия wan после падения|transmission|dlengine|vnstat
    2. DIR-320|RAM 64M|Flash 8M|Entware 1.9.2.7-rtn-r4772M|Принт-сервер для HP 1000-1022, P1005-P1505

  11. #41
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Exclamation Маршрутизация по источнику (Source Routing) на прошивке энтузиастов (как-то странно)

    - есть четыре провайдера
    - есть центральный роутер x86 OpenWRT Kamikaze 8.09.02, на котором реализован multi-wan с маршрутизацией по источнику и Load balncing по правилам.
    - у всех провайдеров PPPoE поднято на роутерах asus wl-5xx
    - роутеры asus wl-5xx подключены к центральному роутеру x86 OpenWRT
    - на двух стоит прошивка энтузиастов, на двух DD-WRT
    в общем-то все работает без особых проблем.

    но есть некоторые "непонятности", которые создают некоторые неудобства.

    все началось с непонятных проблем по проброске портов, но там сошлось все вместе:
    а) глючащий ДСЛ модем в режиме моста
    б) провайдер блокировавший спам
    в) данная проблема по Source Routing

    сразу оговорюсь, что проблема не в центральном роутере x86 OpenWRT и его скриптах. в нем стоят одинаковые сетевые карты и для каждого интерфейса прописана таблица маршрутизации. скрипты проверены и перепроверены!

    проблема в том, что роутеры asus wl-5xx с разной прошивкой по разному взаимодействуют с центральным роутером x86 OpenWRT, в чем это заключается:
    - при пинге с роутеров с прошивкой энтузиастов на адрес внутренней сети за центральным роутером время задержки можете доходить до 100мс, при пинге с роутеров DD-WRT задержка в среднем 1мс
    - по команде traceroute на адрес внутренней сети за центральным роутером вывод ответа может задержаться на 15-60с на роутерах с прошивкой энтузиастов, на роутерах DD-WRT ответ виден практически мгновенно.

    WAN1 (wl-500gpv1 1.9.2.7-rtn):
    Code:
    [admin@cs-trifle root]$ ip route
    10.198.0.1 dev ppp0  proto kernel  scope link  src 85.198.188.40
    195.24.153.32/29 dev br0  proto kernel  scope link  src 195.24.153.33
    195.24.153.0/24 via 195.24.153.34 dev br0  metric 1
    10.51.0.0/16 dev vlan1  proto kernel  scope link  src 10.51.0.13
    127.0.0.0/8 dev lo  scope link
    default via 10.198.0.1 dev ppp0

    WAN2 (wl-500W DD-WRT):
    Code:
    root@cs-urktel:~# ip route
    195.5.5.202 dev ppp0  scope link
    195.5.5.202 dev ppp0  proto kernel  scope link  src 82.207.89.70
    195.24.153.0/27 dev br0  proto kernel  scope link  src 195.24.153.2
    195.24.153.0/24 via 195.24.153.1 dev br0
    127.0.0.0/8 dev lo  scope link
    default via 195.5.5.202 dev ppp0
    WAN3 (wl-500gpv2 1.9.2.7-rtn):
    Code:
    [admin@csoptima8 root]$ ip route
    195.248.176.231 dev ppp0  proto kernel  scope link  src 78.25.8.242
    195.24.153.48/29 dev br0  proto kernel  scope link  src 195.24.153.49
    195.24.153.0/24 via 195.24.153.50 dev br0  metric 1
    169.254.0.0/16 dev vlan1  proto kernel  scope link  src 169.254.130.131
    127.0.0.0/8 dev lo  scope link
    default via 195.248.176.231 dev ppp0

    WAN4 (wl-520gu DD-WRT):
    Code:
    root@csoptima4:~# ip route
    195.24.153.56/29 dev br0  proto kernel  scope link  src 195.24.153.57
    195.24.153.0/24 via 195.24.153.58 dev br0
    127.0.0.0/8 dev lo  scope link
    у этого провайдера сейчас обрыв провода, потому нет сессии PPPoE, потому как не с этим все же проблема.

    traceroute:
    Code:
    [admin@cs-trifle root]$ traceroute 195.24.153.67
    traceroute to 195.24.153.67 (195.24.153.67), 30 hops max, 38 byte packets
     1  195.24.153.34 (195.24.153.34)  0.468 ms  1.074 ms  0.864 ms
     2  195.24.153.67 (195.24.153.67)  1.447 ms  0.959 ms  1.097 ms
    [admin@cs-trifle root]$
    
    
    root@cs-urktel:~# traceroute 195.24.153.67
    traceroute to 195.24.153.67 (195.24.153.67), 30 hops max, 38 byte packets
     1  cs-central-router.computersystemsltd.com (195.24.153.1)  1.148 ms  1.265 ms  1.000 ms
     2  exchange.computersystemsltd.com (195.24.153.67)  0.891 ms  *  0.923 ms
    
    
    [admin@csoptima8 root]$ traceroute 195.24.153.67
    traceroute to 195.24.153.67 (195.24.153.67), 30 hops max, 38 byte packets
     1  195.24.153.50 (195.24.153.50)  0.429 ms  1.354 ms  0.351 ms
     2  195.24.153.67 (195.24.153.67)  1.291 ms  1.301 ms  1.192 ms
    
    
    root@csoptima4:~# traceroute 195.24.153.67
    traceroute to 195.24.153.67 (195.24.153.67), 30 hops max, 38 byte packets
     1  cs-central-router.computersystemsltd.com (195.24.153.58)  0.576 ms  cs-central-router.computersystemsltd.com (195.24.153.58)  0.428 ms  0.421 ms
     2  exchange.computersystemsltd.com (195.24.153.67)  1.808 ms  *  0.636 ms
    Last edited by AndreyPopov; 22-10-2012 at 13:31.

  12. #42
    Join Date
    Sep 2009
    Posts
    12

    Question Нужна помощь спеца по IPTABLES (перенаправление трафика на другой интерфейс/шлюз)

    Здравствуйте!
    Собственно сабж. Подробности:
    на своем WL500W поднял второй WAN (W2) с локалкой от второго прова (статик IP, vlan1), прописал маршрут. Проверил - пакеты ходят во вторую сеть (tracert сеть 2го прова), но интернет по дефолту настроен на основного прова (WAN1, PPPoE) и соответственно, все ходят через него, а там канал не очень широкий. Мне нужно завернуть трафик с определенных машин моей локалки (по IP адресу) через W2, а также по определенным портам оставить на основном WAN (W1) - это нужно для доступа некоторые ресурсы провов.
    Также хотелось бы на всякий случай (при падении какого нить канала) переключать (переключение вручную) основного прова для всех компов моей локалки.
    Как это можно реализовать? Если нужно более подробно, то подробности выложу в тему, но IMHO, можно обойтись и переменными - нужные значения подставлю сам.
    Те кто может помочь - пишите в личку, плиз. Отвечаю не сразу.

  13. #43
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Cool Несколько провайдеров, source routing, маркирование пакетов iptables и Windows

    Несколько провайдеров, source routing, маркирование пакетов iptables и Windows - внешний доступ к внутренним ресурсам через нескольких провайдеров

    думаю на сегодня, когда есть возможность подключить нескольких провайдеров, чтобы:
    - иметь резервный канал
    - увеличить пропускную способность
    и другие варианты этих двух пунктов, многих интересует этот вопрос.

    также одной из задач в таких условиях является внешний доступ к внутренним ресурсам вашей со всех провайдеров.

    если речь идет о системах на базе Linux, то широкие возможности пакет iproute2 по настройке нескольких таблиц маршрутизации на основе разных правил и в том числе маршрутизация по источнику (source routing), использование маркировки пакетов силами iptables для формирования этих правил - в общем на системах Linux возможностей маршрутизации на любой вкус.

    но когда дело доходит до Windows, то тут даже все обилие возможностей пакета iproute2/iptables просто убивается!


    и так, какова моя ситуация:
    исторически сложилось так, что у меня четыре провайдера
    на каждого провайдера стоит роутер(Linux) с поднятой сессией PPPoe
    эти четыре роутера подключены к центральному роутеру(Linux), который занимается балансировкой трафика
    за центральным роутером находится офисная сеть и сервера - все Windows/Windows Server
    Code:
    P1 --R1---\
                \       ____________
                  \----|            |
    P2 --R2------------|  central   |
                       | balansing  |-------- office and servers
    P3 --R3------------|   router   |
                  /----|____________|
                /
    P4 --R4---/
    и если с балансировкой трафика, "заворачиванием трафика" на нужного провайдера ( в случае к примеру когда провайдер предоставляет бесплатный почтовый ящик с доступом у нему через этого провайдера) - все было достаточно просто, то с внешним доступом к внутренним серверам пришлось повозиться и достаточно долго.


    были перепробованы все методы начиная:
    - с source routing
    - маркировка пакетов с помощью iptables -j MARK --set-mark xx
    - маркировка пакетов с помощью iptables -j CONNMARK --set-mark xx
    - маркировка пакетов с помощью iptables -j TOS --set-tos xx


    но дело в том, что Windows принимая IP (TCP/UDP) пакет просто игнорирует все выставленные в пакетах приоритеты и маркеры и соответственно в ответ высылает "девственно" чистый пакет. единственное, что умеет делать Windows/Windows Server это маркировать заголовок пакета приоритетом TOS, с помощью службы QoS. но следует заметить, что и это работает далеко не всегда, потому как драйвера не всех сетевых карт поддерживают эту функцию.

    решение было найдено таким путем:
    - на каждом сервере, доступ к которому нужен был извне к основному адресу было добавлено еще по четыре дополнительных адреса (по одному на каждого провайдера).
    скажем так у - у сервера основной адрес 192.168.1.254, ему на тот же интерфейс добавили 192.168.1.241, 192.168.1.242, 192.168.1.243, 192.168.1.244
    - в пробросе портов Virtual Server на каждом проутере был прописан на свой адрес:
    P1 --R1 -> 192.168.1.241
    P2 --R2 -> 192.168.1.242
    P3 --R3 -> 192.168.1.243
    P4 --R4 -> 192.168.1.244

    - на центральном роутере созданы дополнительные таблицы маршрутизации:
    ip route add from 192.168.1.241 table 1
    ip route add default via R1 table 1

    ip route add from 192.168.1.242 table 2
    ip route add default via R2 table 2

    ip route add from 192.168.1.243 table 3
    ip route add default via R3 table 3

    ip route add from 192.168.1.244 table 4
    ip route add default via R4 table 4

    вот в такой конфигурации работает и балансировка и внешний доступ от каждого провайдера.
    Last edited by AndreyPopov; 25-05-2013 at 14:44.

  14. #44
    Форум посвящён домашним роутерам ASUS.
    Какие нафиг office and servers?!

  15. #45
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Exclamation

    Quote Originally Posted by ryzhov_al View Post
    Форум посвящён домашним роутерам ASUS.
    Какие нафиг office and servers?!
    а типа сейчас дома ни укого не может быть двух провайдеров и нет домашнего вэб сервера?

    когда вэб сервер поднят на флэшке подключенной к самому роутеру - то особых проблем не возникает.

    а вот когдасервер находится за роутером и на нем стоит винда - вот тогда начинается самое интересное.

    а роутеры эти давно не домашние, они относятся к категории SOHO - Small Office & Home Office

    и этот топик адресован именно туда.

Page 3 of 3 FirstFirst 123

Similar Threads

  1. Broadcom & Asus Source
    By NKZ in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 0
    Last Post: 07-07-2007, 13:54

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •