The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Два канала + ipfw., !*! RusBiT, 11-Дек-08, 16:42  [смотреть все]
FreeBSD 6.2-RELEASE
Пытаюсь настроить двойной nat. Срабатывает только nat на порту 8668. По умолчанию маршрутом прописан шлюз второг канала, wan2_gw
#NATD
${fwcmd} add divert 8778 ip from ${wan1_nat} to any out via ${wan1_if}
${fwcmd} add fwd ${wan1_gw} ip from ${wan1_ip} to any out via ${wan1_if}

${fwcmd} add divert 8668 log ip from ${wan2_nat} to any out via ${wan2_if}
${fwcmd} add fwd ${wan2_gw} log ip from ${wan2_ip} to any out via ${wan2_if}

${fwcmd} add divert 8778 ip from any to ${wan1_ip} in via ${wan1_if}
${fwcmd} add divert 8668 ip from any to ${wan2_ip} in via ${wan2_if}

В логах
Dec 10 15:27:34 user kernel: ipfw: 5201 Forward to 10.0.7.7 UDP 10.0.7.15:60895 194.87.0.50:33448 out via rl1

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

В ядре включено.
options         NETGRAPH
options         NETGRAPH_BPF
options         NETGRAPH_IFACE
options         NETGRAPH_KSOCKET
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE
options         NETGRAPH_SOCKET
options         NETGRAPH_TCPMSS
options         NETGRAPH_VJC
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
options         IPDIVERT
options         DUMMYNET
options      TCP_DROP_SYNFIN

  • Два канала + ipfw., !*! Alex123, 17:32 , 11-Дек-08 (1)
    • Два канала + ipfw., !*! Pahanivo, 17:34 , 11-Дек-08 (2)
    • Два канала + ipfw., !*! RusBiT, 17:50 , 11-Дек-08 (3)
      Да, Alex123  именно так.
      Я читал все большинство статей про pbr , то увы не помогло. Трафик как второго интерфейса почему то отправляется через первый =(
      • Два канала + ipfw., !*! Alex123, 18:03 , 11-Дек-08 (4)
      • Два канала + ipfw., !*! Alex123, 18:11 , 11-Дек-08 (5)
        • Два канала + ipfw., !*! RusBiT, 19:11 , 11-Дек-08 (6)
          >>Да, Alex123  именно так.
          >
          >а это читали?
          >https://www.opennet.ru/tips/info/788.shtml

          Прочитал, в принципе у меня все так.

          Сделал как вы просили, если я правильно понял
          #NATD
          ${fwcmd} add skipto 8778 ip from ${wan2_ip} to not ${wan2_ip} via ${wan2_if}
          ${fwcmd} add divert 8778 ip from ${wan1_nat} to any out via ${wan1_if}
          ${fwcmd} add fwd ${wan1_gw} ip from ${wan1_ip} to any out via ${wan1_if}

          ${fwcmd} add divert 8668 log ip from ${wan2_nat} to any out via ${wan2_if}
          ${fwcmd} add fwd ${wan2_gw} log ip from ${wan2_ip} to any out via ${wan2_if}

          ${fwcmd} add divert 8778 ip from any to ${wan1_ip} in via ${wan1_if}
          ${fwcmd} add divert 8668 ip from any to ${wan2_ip} in via ${wan2_if}

          Счетчик понулям в первом правиле.

          Забыл добавить что я использую на сервере VPN. То есть ${wan1_ip} и ${wan1_ip} айпи которые выдаются при подключении к впн серверу.

          • Два канала + ipfw., !*! Alex123, 19:20 , 11-Дек-08 (7)
            • Два канала + ipfw., !*! RusBiT, 19:24 , 11-Дек-08 (8)
              04901         0           0        add skipto 8669 ip from 10.0.7.7 to not 10.0.7.7 via rl2
              05101         0           0        divert 8669 ip from 192.168.11.0/24 to any out via rl2
              05201         0           0        fwd 10.0.7.7 ip from 10.0.7.15 to any out via rl2
              05301  35446814 37343784966        divert 8668 log logamount 100 ip from 192.168.10.0/24 to any out via rl1
              05401     62046    77376812        fwd 84.22.1**.1 log logamount 100 ip from 84.22.1**.2 to any out via rl1
              05501         0           0       divert 8669 ip from any to 10.0.7.5 in via rl0
              05601  28490585 16983034146       divert 8668 ip from any to 84.22.1**.2 in via rl1
              05701        23        2181       allow ip from 192.168.10.0/23 to any in via ng*
              05801  28442420 16980467659       allow ip from not 192.168.10.0/23 to 192.168.10.0/23

              Может из за впн ? С маршрутами что не так?

          • Два канала + ipfw., !*! Alex123, 20:17 , 11-Дек-08 (10)
            • Два канала + ipfw., !*! RusBiT, 04:45 , 12-Дек-08 (11)
              >а что показывает
              >sysctl net.inet.ip.fw.one_pass
              >[q=http://ipfw.ism.kiev.ua/ipfw.html]
              >net.inet.ip.fw.one_pass: 1 Когда установлено, пакет, выходящий из потока dummynet, не проходит через
              >брандмауэр повторно, В противном случае, после обработки канала пакет повторно вводится
              >в брандмауэр по следующему правилу.
              >[q]

              net.inet.ip.fw.one_pass: 1
              pipe в конфиге файрвола присутствуют(точнее abills добавляет pipe), срабатывают нормально.

              • Два канала + ipfw., !*! Pahanivo, 08:27 , 12-Дек-08 (12)
              • Два канала + ipfw., !*! Alex123, 16:29 , 12-Дек-08 (13)
                • Два канала + ipfw., !*! RusBiT, 19:22 , 12-Дек-08 (14)
                  >>net.inet.ip.fw.one_pass: 1
                  >>pipe в конфиге файрвола присутствуют(точнее abills добавляет pipe), срабатывают нормально.
                  >
                  >переставь в 0 -- тогда работа фаервола станет более очивидной
                  >
                  >теперь в краце:
                  >когда
                  >ipfw show

                  Спасибо за помощь. Как будет возможность проверю.
                  Описание принципа работы ipfw - не к чему, ибо я прочитал не одну статью на эту тему. Понравилась - http://www.lissyara.su/?id=1536 , pbr настраивал по статье http://ipfw.ism.kiev.ua/pbr.html , слегка изучил man.

                  >после add ставится номер правила

                  и перед add ставится номер правила.

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

                  Правила можно увидеть ipfw list, а ipfw show показывает правила и счётчики пакетов (2 и 3 колонка), которые совпали с этими правилами.

                  Вообщем я о том, к чему пустые слова?
                  Жду мнения экспертов о моей проблеме :)

                  • Два канала + ipfw., !*! Alex123, 20:23 , 12-Дек-08 (15)
                    • Два канала + ipfw., !*! Alex123, 16:25 , 13-Дек-08 (17)
                      • Два канала + ipfw., !*! RusBiT, 18:03 , 13-Дек-08 (18)
                        >Да, ещё в ядре должна быть опция IPFIREWALL_FORWARD_EXTENDED, или её кажись можно
                        >задать через sysctl

                        В моем версии freebsd данная опция отсутсвует.
                                The IPFIREWALL_FORWARD_EXTENDED option is gone and the behaviour
                                for IPFIREWALL_FORWARD is now as it was before when it was first
                                committed and for years after. The behaviour is now ON.


                  • Два канала + ipfw., !*! Kos, 00:58 , 13-Дек-08 (16)
                    • Два канала + ipfw., !*! RusBiT, 18:07 , 13-Дек-08 (19)

                      >ну и где там написано про "in via" или "out via"? Если
                      >ошибаюсь, пусть меня поправят, но Ваше правило типа
                      > {fwcmd} add divert 8778 ip from ${wan1_nat} to any out via
                      >${wan1_if}
                      >никогда не сработает, потому что фря все равно будет пихать пакет в
                      >шлюз по-умолчанию.

                      Без out via ${wan1_if} в логе я вижу, что пакет пытается идти через шлюз по умолчанию. Как я понимаю не работает из-за того, что я использую vpn. Все клиенты подключаются через впн.
                      Сегодня попробую реализовать все без pptp на тестовой машине .
                      >
                      >статья 100% рабочая и опробована на 5, 6 и 7 фре.

                      • Два канала + ipfw., !*! Alex123, 19:06 , 13-Дек-08 (20)
                        • Два канала + ipfw., !*! Alex123, 19:10 , 13-Дек-08 (21)
                        • Два канала + ipfw., !*! RusBiT, 12:52 , 27-Дек-08 (22)
                          >
                          >>пропиши роутинг в ppp.conf для подмены при поднятии
                          >
                          >или пропиши роутинг, как в статье!!

                          Вот так оно и заработало :) И работает две недели.

                          05205 divert 8669 log logamount 100 ip from 192.168.11.0/24 to any out xmit rl1
                          05245 fwd 10.0.7.7 log logamount 100 ip from 10.0.7.5 to any out xmit rl1
                          05265 divert 8669 ip from any to 10.0.7.5 in via rl0

                          05301 divert 8668 ip from 192.168.10.0/24 to any out via rl1
                          05401 fwd 84.22.13*.1 ip from 84.22.13*.** to any out via rl1
                          05601 divert 8668 ip from any to 84.22.13*.** in via rl1




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру