8

У меня есть локальная сеть в моем здании, которая использует 10.10.19.* Диапазон IP. Кроме того, у меня дома есть ADSL-соединение, которое использует 192.168.1.* IP диапазон внутри. У меня также есть две карты Ethernet.

Есть ли способ, которым я могу получить доступ к двум сетям одновременно? Мне нужно правило, которое маршрутизирует весь 10.10.19. * Трафик через eth0 и все остальное через eth1. Это возможно?

Мне нужно сделать это на Ubuntu 9.10, а также Windows 7.

3 ответа3

10

Абсолютно возможно. Для этого вам нужно правильно настроить маршруты. Вы хотите, чтобы ваш маршрут по умолчанию проходил через ваш eth1, поэтому ваша таблица маршрутизации должна выглядеть так:

$ /sbin/route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.19.0      *               255.255.255.0   U     0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth1

Windows будет выглядеть примерно так же (с разным форматированием, конечно), используя команду route print .

Вы можете настроить маршруты динамически с помощью команд route на любой платформе. Я не уверен, какие параметры конфигурации вам нужно установить один по умолчанию (а другой, как не по умолчанию, очевидно)... будет редактировать с этой информацией.

Редактировать: если вы работаете с сетевыми менеджерами GNOME или KDE, найдите параметр "установить этот интерфейс по умолчанию" в конфигурации для вашего устройства eth1 .

Если вы настраиваете /etc/network/interfaces вручную, взгляните на примеры в этом HOWTO. В частности, опция up позволяет вам запускать команды после появления интерфейса. В вашем случае вам может понадобиться использовать это для запуска команды route-delete на дополнительном маршруте по умолчанию или для запуска добавления маршрута, если ни один из ваших интерфейсов не установил себя в качестве маршрута по умолчанию:

# example /etc/network/interfaces
# replace the IP addresses in the route-del and route-add commands below
# with those appropriate to your network

auto eth0
iface eth0 inet dhcp
    up route del default gw 10.10.19.1
    # runs a route-delete if dhcp adds a default gateway for this interface

auto eth1
iface eth1 inet dhcp
    up route add default gw 192.168.1.1
    # runs a route-add if dhcp neglects to add a default gateway for this interface
2

Да, ты можешь.

Если вы настроите оба сетевых адаптера с правильными IP-адресами, они позаботятся о маршрутизации пакетов через правильный интерфейс.

Единственное, что вам нужно сделать, это настроить маршрут по умолчанию (возможно, маршрутизатор на 192.168.1.* Сеть ADS) для пакетов, не входящих непосредственно в сети 10.10.19. * И 192.168.1. *.

В Linux:

$ sudo route add default gw 192.168.1.1

В Windows:

Используйте панель управления для настройки маршрута по умолчанию.

1

Это следует делать JustWork(tm), если обе сети используют DHCP для раздачи IP-адресов, и только одна из них пытается быть вашим шлюзом по умолчанию.

Если оба попытаются быть шлюзом по умолчанию, и оба позволяют маршрутизацию в Интернет в целом, это, вероятно, также будет работать, хотя я предполагаю, что смысл линии ADSL в том, что вы хотите, чтобы ваш внешний интернет-трафик проходил через это, а не чем через какое-либо соединение делится остальная часть локальной сети?

Если сетевые карты подключены так, как вы собираетесь их использовать, можете запустить следующие команды в Ubuntu и сообщить нам результат:
sudo ifconfig
sudo route
Это скажет использовать какие адреса и маршруты будут установлены автоматически в вашей текущей договоренности.

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