Запуск Fedora 10 у меня следующий сценарий.
NIC A - Running on 10.11.0.1. DHCP Assigned. NIC B - No IP Specified Yet.
Машины, подключенные к NIC B, должны транспортировать трафик между NIC B и NIC A, т.е. увидеть все, что может NIC A. Трафик может свободно перемещаться между этими сетями, так как межсетевой экран уже установлен на другом компьютере.
Я понимаю, что это проблема маршрутизации, но не знаю, с чего начать.
Как мне это правильно настроить?
Во-первых, вам нужно включить переадресацию IP в поле Fedora, отредактируйте /etc/sysctl.conf:
net.ipv4.ip_forward = 1
Затем вам нужно сообщить машинам, подключенным к NIC B, что если они хотят подключиться к сети 10.11.0.x, им необходимо пройти через ваш сервер. Это может быть достигнуто путем установки вашего сервера (IP от NIC B) в качестве шлюза по умолчанию для других машин. Или вы можете добавить статические маршруты в машины:
route ADD 10.11.0.0 MASK 255.255.255.0 A.B.C.D (in windows)
Где A.B.C.D - IP-адрес вашего сервера (NIC B). Я предполагаю, что 255.255.255.0 - это сетевая маска другой сети.
Вы также можете сделать мосты вместо маршрутизации. Это превратит ваш компьютер в коммутатор, более или менее умный. Для этого вам понадобится bridge-utils
пакет и отключить IP-адрес сетевой карты A, отключив DHCP (и перезагрузив) или запустив ip addr del 10.11.0.1 dev eth0
.
Для настройки моста вам потребуется:
brctl add br0
brctl addif br0 eth0 # NIC A
brctl addif br0 eth1 # NIC B
Ваш мост запущен и работает. Для фильтрации пакетов вы можете использовать iptables или ebtables.
ЛЭ: С Джо упомянул IP-адреса, я вспомнил, что кое-что забыл. Если вы хотите, чтобы у сервера был IP-адрес, вы можете назначить его br0
интерфейс, и сервер будет действовать как любой другой компьютер, подключенный к сетевому адаптеру A или B.
LE2: конфигурацию моста можно сохранить в /etc/sysconfig
. Чтобы увидеть, как читать /usr/share/doc/initscripts-*/sysconfig.txt
. Например, мои файлы конфигурации выглядят так:
# /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
STP=off
DELAY=1
ONBOOT=yes
BOOTPROTO=dhcp
# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
У меня только одна сетевая карта, и я использую мост для своих виртуальных машин.
У мостов обычно нет адресов, но нет ограничений, что они не могут быть адресованы. При подключении и адресации сетевые адаптеры служат двойному назначению: они соединяют обычный трафик и разрешают доступ удаленным клиентам из любого соединения сетевого адаптера. (Поскольку они соединены мостом, вам понадобится только одна сетевая карта, чтобы иметь адрес для обеих сторон для подключения к серверу моста, если это необходимо. Но это увеличивает внутренний трафик. Не рекомендуется.)