Погода: -12°C
  • Народ. Помогите разрешить проблему.

    Задача: имеется конторская сеть, разделённая на две подсети. Одна из подсетей имеет адресное пространство 192.168.100.0/24, вторая 192.168.200.0/24.
    Имеется сервак Ubuntu Server 9.04 с тремя сетевыми интерфейсами. Один смотрим внутрь, два наружу. Два внешних канала от разных провайдеров.
    Задача состоит в том, чтобы одну подсеть отправить наружу через одного провайдера, вторую через второго.
    Пускать или не пускать наружу надо по MAC'ам.
    Сейчас при помощи iptables все ходят через одну дырку.

    Фрагмент rc.local:

    iptables -A POSTROUTING -t nat -o eth1 -s 192.168.200.0/24 -j SNAT --to-source xxx.xxx.xxx.xxx
    iptables -A POSTROUTING -t nat -o eth2 -s 192.168.100.0/24 -j SNAT --to-source yyy.yyy.yyy.yyy

    eth0 имеет IP 192.168.200.1, и для второй подсети создан eth0:1 c IP 192.168.100.1

    сейчас выходит так, что все идут через внешний IP xxx.xxx.xxx.xxx.

    Где копать?

    Nissan Presage, U-30, KA24DE, 00г.
    Nissan Lafesta, 10г.

  • Прочесть нужно вот это
    А конкретно ваш случай можно посмотреть вот тут
    В общем случае вам нужно определить политику, какая из ваших сетей через какой интерфейс должна ходить.
    Фильтрацию по макам осуществлять нужно в цепочке FORWARD таблицы filter. В общем случае правило будет
    iptables -t filter -A FORWARD -m mac --mac-source 00:00:00:00:00:00 -j DROP / -j ACCEPT
    если вы роутите не в "промышленных масштабах", или адреса интерфейсов получаются по dhcp, то NAT проще организовать:
    iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
    iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
    Здесь eth1/eth2 интерфейсы на 1/2 провайдера.
    В общем это не сложно, если вы понимаете как работает iptables / iproute2

    Non solum oportet, sed etiam necessese est

Записей на странице:

Перейти в форум

Модераторы: