The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Форвардинг между _отдельными_ интерфейсами FreeBSD(+), !*! BugZ, 19-Май-04, 00:41  [смотреть все]
Доброго времени суток!
У меня небольшая локальная сетка с выходом в инет, аутентификация по VPN:

gw# ifconfig
xl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=3<rxcsum,txcsum>
        inet 172.16.97.1 netmask 0xfffffffc broadcast 172.16.97.3
        ether 00:01:02:6f:8d:2c
        media: Ethernet autoselect (100baseTX)
        status: active
xl1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=3<rxcsum,txcsum>
        inet 192.168.0.1 netmask 0xffff0000 broadcast 192.168.255.255
        ether 00:04:79:67:7c:a4
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
xl2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=3<rxcsum,txcsum>
        ether 00:04:79:67:7c:6e
        media: Ethernet autoselect (none)
        status: no carrier
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
        ether 00:a0:c9:4b:86:05
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 83.237.28.253 --> 10.2.255.2 netmask 0xffffff00
        Opened by PID 62
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 10.0.1.1 --> 10.0.1.254 netmask 0xffffffff
        Opened by PID 346
tun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 10.0.1.1 --> 10.0.1.81 netmask 0xffffffff
        Opened by PID 349

Пользователи находятся в 192.168.*.*, tun0 создаёт adsl, tunX - клиентские vpn-соединения.

Всё было замечательно, пока я не попробовал на клиентской машине поставить gateway: 192.168.0.1 и поиграться с traceroute по ip.

Форвардинг включен.

Выяснилось, что при опущенном впн соединении пользователь имеет доступ по цепочке:

Tracing route to 194.17.16.106 over a maximum of 30 hops

  1     1 ms    <1 ms    <1 ms  192.168.0.1
  2    21 ms    17 ms    17 ms  10.2.255.2
  3    16 ms    16 ms    15 ms  195.34.61.6

При поднятом впн (правильное состояние) маршрут пакета таков:

  1     2 ms     1 ms     4 ms  10.0.1.1
  2    21 ms    17 ms    17 ms  10.2.255.2
  3    16 ms    16 ms    15 ms  195.34.61.6

Насколько я понимаю мне нужно запретить форвардинг между xl1(192.168.0.1) и tun0(10.0.255.2).

А теперь вопросы:

Как правильнее запретить несанкционированный доступ?
Как сделать это без фаерволла (запрет форвардинга между отдельными интерфейсами?) И есть ли он в FreeBSD (очень интересно)?
А если с фаерволлом?

Жду вашей помощи! Любые советы / замечания / критика приветствуются.


  • Форвардинг между _отдельными_ интерфейсами FreeBSD(+), !*! fantom, 13:34 , 20-Май-04 (1)
    >Доброго времени суток!
    >У меня небольшая локальная сетка с выходом в инет, аутентификация по VPN:
    >
    >
    > gw# ifconfig
    >xl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    >        options=3<rxcsum,txcsum>
    >        inet 172.16.97.1 netmask 0xfffffffc
    >broadcast 172.16.97.3
    >        ether 00:01:02:6f:8d:2c
    >        media: Ethernet autoselect (100baseTX)
    >
    >        status: active
    >xl1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    >        options=3<rxcsum,txcsum>
    >        inet 192.168.0.1 netmask 0xffff0000
    >broadcast 192.168.255.255
    >        ether 00:04:79:67:7c:a4
    >        media: Ethernet autoselect (100baseTX <full-duplex>)
    >        status: active
    >xl2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    >        options=3<rxcsum,txcsum>
    >        ether 00:04:79:67:7c:6e
    >        media: Ethernet autoselect (none)
    >
    >        status: no carrier
    >fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    >        inet 10.0.0.1 netmask 0xffffff00
    >broadcast 10.0.0.255
    >        ether 00:a0:c9:4b:86:05
    >        media: Ethernet autoselect (100baseTX <full-duplex>)
    >        status: active
    >lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    >        inet 127.0.0.1 netmask 0xff000000
    >
    >tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
    >        inet 83.237.28.253 --> 10.2.255.2 netmask 0xffffff00
    >        Opened by PID 62
    >
    >tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
    >        inet 10.0.1.1 --> 10.0.1.254 netmask 0xffffffff
    >        Opened by PID 346
    >
    >tun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
    >        inet 10.0.1.1 --> 10.0.1.81 netmask 0xffffffff
    >        Opened by PID 349
    >
    >
    >Пользователи находятся в 192.168.*.*, tun0 создаёт adsl, tunX - клиентские vpn-соединения.
    >
    >Всё было замечательно, пока я не попробовал на клиентской машине поставить gateway:
    >192.168.0.1 и поиграться с traceroute по ip.
    >
    >Форвардинг включен.
    >
    >Выяснилось, что при опущенном впн соединении пользователь имеет доступ по цепочке:
    >
    >Tracing route to 194.17.16.106 over a maximum of 30 hops
    >
    >  1     1 ms    
    ><1 ms    <1 ms  192.168.0.1
    >  2    21 ms    17
    >ms    17 ms  10.2.255.2
    >  3    16 ms    16
    >ms    15 ms  195.34.61.6
    >
    >При поднятом впн (правильное состояние) маршрут пакета таков:
    >
    >  1     2 ms    
    > 1 ms     4 ms  10.0.1.1
    >
    >  2    21 ms    17
    >ms    17 ms  10.2.255.2
    >  3    16 ms    16
    >ms    15 ms  195.34.61.6
    >
    >Насколько я понимаю мне нужно запретить форвардинг между xl1(192.168.0.1) и tun0(10.0.255.2).
    >
    >А теперь вопросы:
    >
    >Как правильнее запретить несанкционированный доступ?
    >Как сделать это без фаерволла (запрет форвардинга между отдельными интерфейсами?) И есть
    >ли он в FreeBSD (очень интересно)?
    >А если с фаерволлом?
    >
    >Жду вашей помощи! Любые советы / замечания / критика приветствуются.

    1. Натить только с ВПН-овских интерфейсов.
    2. Форвардинг (кажется) включается или выключается только глобально, т.е. ДЛЯ ВСЕХ. поэтому без файрвола не обойдешся...

    • Проблема решена., !*! BugZ, 16:33 , 23-Май-04 (2)
      Спасибо fantom за отзывчивость.
      НАТ я трогать не стал, он осуществляется силами ppp, и разбираться мне не захотелось.
      Насчёт форвардинга - удивительно, я в инете обнаружил, что в линухе форвардинг между отдельными интерфейсами возможнен, так чем же мы (пользователи FreeBSD) хуже? Надеюсь, они сделают такую фичу (если её до сих пор нет).
      Решилось всё с помощью фаерволла (ipfw)
      Три правила (кроме решения этой проблемы фаерволл более никакой полезной нагрузки не несёт):
      # ipfw add 00500 allow all from 192.168.0.0/16 to 192.168.0.1 via xl1
      # ipfw add 00501 allow all from 192.168.0.1 to 192.168.0.0/16 via xl1
      # ipfw add 01000 deny ip from 192.168.0.0/16 to any via xl1
      1 - разрешить весь входящий трафик от пользователя к роутеру через интерфейс xl1 (на котором "висят" пользователи).
      2 - разрешить весь исходящий трафик от роутера к пользователю через интерфейс xl1 (на котором "висят" пользователи).
      3 - запретить весь остальной (нежелательный) входящий трафик через интерфейс xl1

      Может кому пригодится. :)




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

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