Назад | Перейти на главную страницу

Можно ли установить MASQUERADE на 2 сетевых интерфейса на сервере Linux?

Есть Linux-сервер с 3-мя сетевыми интерфейсами, eth0, eth1, eth2. На этом сервере включена переадресация IP.

  1. eth0 подключен к 10.0.1.0/24. Его IP 10.0.1.1.
  2. eth1 подключен к 172.16.1.0/24. Его IP 172.16.1.1. Сервер A может проверить связь с маршрутизатором C по адресу 172.16.1.2.
  3. eth2 подключен к 192.168.1.0/24. Его IP 192.168.1.1. Сервер A может пинговать сервер B по адресу 192.168.1.2.
  4. Маршрутизатор C может маршрутизировать на 172.16.2.0/24 и 172.16.3.0/24.
                                          [10.0.1.0/24]
                                                |
172.16.2.0/24------|                            |
                   [C]------172.16.1.0/24------[A]------192.168.1.0/24------[B]
172.16.3.0/24------|

Мы установили MASQUERADE на eth0. Когда сервер B (192.168.1.2) подключается к 10.0.1.0/24, IP MASQUERADE произойдет на eth0.

Можно ли установить MASQUERADE на eth1? Можно ли установить MASQUERADE более чем на 1 сетевой интерфейс в Linux?

Да, иметь несколько MASQUERADE правила. Обычно каждое правило соответствует пакетам, выходящим через определенный интерфейс, например:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Первое правило соответствует исходящим пакетам eth0, а второй соответствует исходящим пакетам eth1.