Использовать две сети одновременно?

Я хочу использовать Ubuntu 10.10 Server в классе, компьютерную лабораторию, пропускная способность которой предоставляется локальным кабелем ISP. Это не проблема, хотя в школьной сети есть IP-принтер, который я хочу использовать. Я не могу добраться до принтера через кабельный интернет. Но у меня две сетевые карты.

Как можно использовать обе сети сразу?

eth0 (статический 192.168.1.254) подключен к четырехпортовому маршрутизатору 192.168.1.1. На публичной стороне четырехпортового маршрутизатора есть Интернет, предоставляемый кабельной компанией. У меня также есть классные рабочие станции, подключенные к коммутатору. Коммутатор подключен к четырехпортовому маршрутизатору. Весь классный класс подключен к кабельному Интернету.

Другой сетевой адаптер eth1 может быть подключен к разъему Ethernet в стене? Он использует школьную сеть, и я могу получить по DHCP IP-адрес, например 10.140.10.100, с принтером, возможно, 10.120.50.10.

Я думал об установке принтера на сервере, чтобы его можно было разделить с рабочими станциями. Но как это работает? Могу ли я просто подключить eth1 в школьную сеть и получить доступ к локальной сети?

Спасибо за понимание.

auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.254 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 auto eth1 iface eth1 inet dhcp 

Я предполагаю, что у вас нет маршрутов, установленных локально в поле Ubuntu.

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

Вы сможете увидеть, какие сети имеют собственные интерфейсы с ip route show .
Например,

 $ ip route show 192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.22 metric 1 

В этом случае адресом 192.168.1.x/24 (eth0) будет шлюз для того же 192.168.1.x/24 . Адрес 10.xxx будет шлюзом для всех 10.xxx которые попадают под его маску подсети. На самом деле это то, что вы видите в ответе бекона. Он показывает тест ping, где шлюз и целевые IP-адреса находятся в одной сети – сетевые маски точно совпадают. 192.168.43.102 находится в той же сети /24 (как указано в маске сети 255.255.255.0 ) в качестве интерфейса.

Единственной проблемой может быть путаница по отношению к другим подсетям – интерфейс, подключенный к исходящему пути интернет-провайдера, должен быть «шлюзом последней инстанции» для всех маршрутов, которые не связаны напрямую.

Вы можете заставить это работать, но вы должны сделать быстрый тест, чтобы убедиться, что вы можете достичь необходимых ресурсов. Вы можете обнаружить, что вам нужно route add чтобы добавить маршрут по умолчанию.

Я сделал быструю тестовую настройку здесь дома, с сетью 10.0.1.0 и сетью 192.168.43.0 (первый мой обычный lan over ehternet второй мой телефон по беспроводной сети.) У меня нет проблем с пингом в любую из сетей, поэтому я бы ожидайте, что компьютер сможет находить принтеры в обеих сетях, поскольку он автоматически принимает правильный сетевой интерфейс. Я на 99% уверен, что у вас вообще не будет проблем. (не сшивайте меня в случае других 1%), пожалуйста, сообщите нам, если он работает 🙂

два lan's оба пинга работают

Просто для того, чтобы выполнить другие ответы: если ваш компьютер не может подключиться к вашему устройству, вы можете «заставить» сетевое устройство использовать для определенного адреса и / или подсети, добавив маршрут, не запуская маршруты по умолчанию.

Вот мои маршруты, прежде чем добавлять определенный маршрут для одного из моих устройств в Wi-Fi:

 # Note: ro is a shorthand for route. $ ip -4 ro default via 192.168.0.254 dev eth0 proto static 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.20 metric 1 192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.15 metric 9 

Обратите внимание, что они оба используют одну и ту же подсеть и что pinging 192.168.0.17 (только устройство в сети Wi-Fi) не работает (не уверен, что это нормально).

Используя sudo ip -4 ro add 192.168.0.17 dev wlan0 , я добавил маршрут, указав, что wlan0 следует использовать для 192.168.0.17.

Теперь я могу подключиться к этому хосту, используя интерфейс wlan0, в то время как все остальное все еще проходит через eth0 (что намного быстрее!). Удаление вновь добавленного маршрута так же просто, как замена add del .

Похоже, что также можно управлять маршрутами из графического сетевого менеджера, хотя использование командной строки происходит намного быстрее.