LINUX.ORG.RU

Работа с сетью. Выбор интерфейса


0

0

На одной физической сетевой карте есть множество сетевых интерфейсов с одной маской подсети:

eth0:0 192.168.1.1
eth0:1 192.168.1.2
eth0:2 192.168.1.3
eth0:.. 192.168.1....
eth0:N 192.168.1.N

Есть perl скрипт, который работает с сетью и устанавливает TCP соединения с определённым хостом.

Задача такая: устанавливать данное соединение, выбирая интерфейс. Реально ли это сделать на perl?

Или легче просто держать опущенными все интерфейсы и просто делать:
* ifconfig eth0:0 .... # выбираем определённый интерфейс
* отсылать/принимать информацию
* ifdown eth0:0

Посоветуйте куда копать?

★★★

> Задача такая: устанавливать данное соединение, выбирая интерфейс. Реально ли это сделать на perl?

Вполне. man 2 bind, perldoc -f bind, IO::Socket::INET на предмет LocalAddr.

anonymous
()

я таки думаю что в сторону работы с сокетами

z0D5e8n7x
()

>выбирая интерфейс

Выбирается локальный адрес сокета, куча интерфейсов не нужна, все адреса можно назначить на одну сетевку через "ip addr add" или у вас BSD?

>Или легче просто держать опущенными все интерфейсы и просто делать:

Так точно не надо делать...

mky ★★★★★
()
Ответ на: комментарий от mky

А если же я использую сторонний пакет, например libwww-mechanize-perl ?

Mrak ★★★
() автор топика

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

Pi ★★★★★
()

по теме: SO_BINDTODEVICE

dilmah ★★★★★
()
Ответ на: комментарий от mky

> куча интерфейсов не нужна, все адреса можно назначить на одну сетевку через "ip addr add" или у вас BSD?

а в BSD сетевых алиасов уже будто и нет

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.