Я перепробовал много подходов к моей проблеме. Я заставил его работать по статическим маршрутам. Но я хотел установить RAID 0, поэтому я вытер и установил чистую минимальную систему Centos 6.4.

Текущий:

  • Centos 6.4 Минимальная установка - без обновлений, без модификаций
  • RAID 0
  • 2 встроенных сетевых адаптера (отключены через BIOS)
  • 1 сетевой адаптер Intel i350 Dual Gbe (PCIe на DX79SR)

Я понимаю, что спецификации аппаратного обеспечения не имеют отношения к плате NIC.

Задача
Сконфигурируйте установку Centos 6.4 в качестве обычного веб-сервера с использованием Apache, PHP и MySQL. Подключите веб-сервер к локальной сети, используя eth0, и wan, используя eth 1. Весь веб-трафик (80, 21, 22, 110, 25, 53 и т.д.) Будет использовать eth1. Весь локальный трафик и трафик базы данных будут использовать eth0.

ifcfg-eth0 listens and responds on ifcfg-eth0 - 10.10.10.0/24  gw 10.10.10.1
ifcfg-eth1 listens and responds on ifcfg-eth1 - 23.30.X.X/28 gw 23.30.X.X

Мне не нужна помощь с Apache, MySQL или PHP. Маршрутизация трафика по порту не является решением, которое я могу использовать. Мне нужна помощь в настройке статических маршрутов для интерфейса, чтобы любой входящий трафик на eth0 отправлялся на eth0, а любой входящий трафик на eth1 отправлялся на eth1. Мне не нужно соединять два.

/etc/sysconfig/network default gateway is 10.10.10.1
/etc/resolv.conf  are 75.75.75.75, 75.75.76.76

eth0 и eth1 назначены статические Ip в своих подсетях

DEVICE=eth0
TYPE=ethernet
UUID=XXXX
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=static
IPADDR=X.X.X.X
PREFIX=24
GATEWAY=X.X.X.X

Я знаю, что без конфигурации Centos не может иметь 2 шлюзов по умолчанию. Поэтому мне нужно настроить шлюзы для каждого порта либо с помощью /etc /sysconfig /network-scripts /route-ethx (на всех по умолчанию ethx), либо я могу создавать маршруты с помощью iproute. Я решил использовать iproute.

Я создал и добавляю маршруты в таблицу: pubnic

IP-маршрут добавить 23.30.XX /28 Dev Eth1 SRC 23,30.X.XXX таблица pubnic IP-маршрут добавить по умолчанию через 23.30.X.XXX dev eth1 table pubnic IP-правило добавлено с 23.30.X.XXX/32 таблица pubnic IP-правило add t0 23.30.X.XXX/32 стол для отдыха

IP Rule Show

from all lookup local
from all to X.X.X.XXX lookup pubnic
from my.X.X.X.XXX lookup pubnic
from all lookup main
from all lookup default

ip route flush cache

Это работало в прошлом. Я не уверен, почему это не работает сейчас.

1 ответ1

0

Я не думаю, что это возможно, поскольку нет никакого способа дифференцировать трафик, афаик. Трафик всегда будет идти через шлюз по умолчанию или, если их несколько, шлюз по умолчанию с наименьшей метрикой.

По моему опыту работы с Sonicwall (но он применим к любому типу брандмауэра), вы можете назначить трафик другой WAN на порт назначения или IP-адрес, например, youtube.com или порт 80 всегда выходят из этого порта.

Может быть модуль apache, который может отслеживать исходный интерфейс и работать со стеком маршрутизации linux ip таким низкоуровневым способом для достижения этой цели, но я не эксперт по apache. Возможно, кто-то еще узнает?

Я хотел бы найти ответ на этот вопрос, так как я часто сталкиваюсь с этой проблемой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .