Могу ли я подключиться к двум сетям одновременно с двумя картами Ethernet?

8

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

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

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

Акшай
источник

Ответы:

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-адресами, они позаботятся о маршрутизации пакетов через правильный интерфейс.

Единственное, что вам нужно сделать, это настроить маршрут по умолчанию (возможно, маршрутизатор в сети ADS 192.168.1. *) Для пакетов, не отправляемых напрямую в сети 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
Это скажет использовать, какие адреса и маршруты автоматически устанавливаются в вашем текущем устройстве.

Дэвид Спиллетт
источник