Собственно вопрос. Есть сервер с несколькими сетевыми картами необходим каждой из них дать IP-адрес в одной подсети. Возможно ли это сделать, и какие настройки маршрутизации необходимо прописать на сервере, в случае если это возможно.
Несколько сетевых карт в одной подсети
Возможно ли это сделать
да возможно :)
rusbar, какие сети подсети? описали бы схему, несколько сетевых интерфейсов это сколько 2-3-4?
Почитайте на досуге книжечку Маршрутизация в Linux
Описание: Маршрутизация в Linux Автор: Джо Брокмайер, Ди-Эн Лебланк, Рональд Маккарти Формат: DJVU Книга "Маршрутизация в Linux" предназначена для опытных пользователей и администраторов Linux, а также для всех сетевых администраторов, которых интересует не только создание простейших сетей и подсетей, но и реализация более сложных решений, связанных с различными протоколами маршрутизации В данной книге излагаются теоретические сведения и методики, знакомство с которыми позволит читателям научиться правильно выбирать протоколы маршрутизации, конфигурировать демоны маршрутизации, защищать сети и компьютеры, настраивать системное ядро и даже контролировать сетевой трафик. Описываются сетевые утилиты Linux, популярные протоколы маршрутизации и принципы реализации маршрутизатора на Linux-машине в самых разных ситуациях.
Если вы ищете решения, связанные с маршрутизацией в Linux, эта книга поможет вам: - Научиться конфигурировать gated, сложный, но многофункциональный демон маршрутизации; - Освоить принципы бесклассовой адресации в стандарте IPv4; - Понять основы стандарта IPv6; - Изучить принципы маршрутизации в локальных, глобальных и виртуальных частных сетях; - Научиться работать с множеством сетевых утилит Linux; - Узнать об инструментах анализа сетевого трафика; - Понять принципы функционирования протоколоводноадресной, многоадресной и пограничной маршрутизации; - Познакомиться со средствами защиты сетей, имеющимися в Linux.
Ну хорошо.
Ситуация такая - 4 физических интерфейса.
Есть сеть с адресами 192.168.0.ХХХ
Соответственно на каждый физический сетевой интерфейс необходимо выделить по одному адресу из этой сети.
За книжку большое спасибо!
маска подсети какая? если 255.255.255.0 и адреса вида:
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
тогда у вас все по дефолту будет ни чего не надо будет делать.
p.s. надеюсь я правильно понял ТС :)
Тогда наверное я не правильно пишу конфиг сети в /etc/network/interfaces:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.0.180
netmask 255.255.255.0
gateway 192.168.0.1
auto eth2
iface eth2 inet static
address 192.168.0.181
netmask 255.255.255.0
gateway 192.168.0.1
auto eth3
iface eth3 inet static
address 192.168.0.182
netmask 255.255.255.0
gateway 192.168.0.1
Далее команда применения сетевых настроек:
virtual:/home/vmadmin# /etc/init.d/networking restart
Reconfiguring network interfaces...There is already a pid file /var/run/dhclient.eth0.pid with pid 29062
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Listening on LPF/eth0/00:30:48:cf:bb:08
Sending on LPF/eth0/00:30:48:cf:bb:08
Sending on Socket/fallback
DHCPRELEASE on eth0 to 192.168.0.1 port 67
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Listening on LPF/eth0/00:30:48:cf:bb:08
Sending on LPF/eth0/00:30:48:cf:bb:08
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPOFFER from 192.168.0.1
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.239 -- renewal in 1705 seconds.
if-up.d/mountnfs[eth0]: waiting for interface eth1 before doing NFS mounts (warning).
if-up.d/mountnfs[eth0]: waiting for interface eth2 before doing NFS mounts (warning).
if-up.d/mountnfs[eth0]: waiting for interface eth3 before doing NFS mounts (warning).
if-up.d/mountnfs[eth1]: waiting for interface eth2 before doing NFS mounts (warning).
if-up.d/mountnfs[eth1]: waiting for interface eth3 before doing NFS mounts (warning).
if-up.d/mountnfs[eth2]: waiting for interface eth3 before doing NFS mounts (warning).
Starting portmap daemon...Already running..
Starting NFS common utilities: statd.
Результат сеть упала.
auto eth2
iface eth2 inet static
address 192.168.0.181
netmask 255.255.255.0
gateway 192.168.0.1
еще должен быть параметр network 192.168.0.0 и broadcast 192.168.0.255 (если смотреть examples)
Результат сеть упала.
tail -20 /var/log/messages покажите когда сеть падает и ifconfig -a
Так хорошо, после добавления сети и широковещательного адреса всё заработало. Но появился новый вопрос.
Теперь ip адреса получились не привязанными к физическим интерфейсам, т.е. кабеля подключены к eth0 и eth1, но пингуются всё равно все адреса. Это как-нибуть поправить можно?
ping то пакажи
пинг через интерфейс :)
ping -I eth0 ip
ping -I eth1 ip
ping -I eth2 ip
ping -I eth3 ip
virtual:/home/vmadmin# ping -I eth0 192.168.0.1
PING 192.168.0.1 (192.168.0.1) from 192.168.0.239 eth0: 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=255 time=2.69 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=255 time=4.23 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=255 time=0.418 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=255 time=0.366 ms
64 bytes from 192.168.0.1: icmp_seq=5 ttl=255 time=0.361 ms
^C
--- 192.168.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4008ms
rtt min/avg/max/mdev = 0.361/1.614/4.235/1.586 ms
virtual:/home/vmadmin# ping -I eth1 192.168.0.1
PING 192.168.0.1 (192.168.0.1) from 192.168.0.180 eth1: 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=255 time=2.42 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=255 time=0.371 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=255 time=0.366 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=255 time=0.359 ms
^C
--- 192.168.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3017ms
rtt min/avg/max/mdev = 0.359/0.880/2.427/0.893 ms
virtual:/home/vmadmin# ping -I eth2 192.168.0.1
PING 192.168.0.1 (192.168.0.1) from 192.168.0.181 eth2: 56(84) bytes of data.
From 192.168.0.181 icmp_seq=1 Destination Host Unreachable
From 192.168.0.181 icmp_seq=2 Destination Host Unreachable
From 192.168.0.181 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.0.1 ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4017ms
, pipe 3
virtual:/home/vmadmin# ping -I eth3 192.168.0.1
PING 192.168.0.1 (192.168.0.1) from 192.168.0.182 eth3: 56(84) bytes of data.
From 192.168.0.182 icmp_seq=1 Destination Host Unreachable
From 192.168.0.182 icmp_seq=2 Destination Host Unreachable
From 192.168.0.182 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.0.1 ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4025ms
, pipe 3
Ну через интерфейсы всё правильно идёт...
Обнаружил ещё одну странную вещь при выполнении ifconfig несмотря на отключенные кабеля к интерфейсам eth2 и eth3 в результатах команды выдаётся совершенно противоположный результат:
virtual:/home/vmadmin# ifconfig
eth0 Link encap:Ethernet HWaddr 00:30:48:cf:bb:08
inet addr:192.168.0.239 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::230:48ff:fecf:bb08/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:212209898 errors:0 dropped:0 overruns:0 frame:0
TX packets:209046331 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:296689631184 (276.3 GiB) TX bytes:29140716171 (27.1 GiB)
Memory:fbe60000-fbe80000
eth1 Link encap:Ethernet HWaddr 00:30:48:cf:bb:09
inet addr:192.168.0.180 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::230:48ff:fecf:bb09/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:39801 errors:0 dropped:0 overruns:0 frame:0
TX packets:31833 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:2797351 (2.6 MiB) TX bytes:6386817 (6.0 MiB)
Memory:fbee0000-fbf00000
eth2 Link encap:Ethernet HWaddr 00:15:17:d7:7c:56
inet addr:192.168.0.181 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:fba80000-fbaa0000
eth3 Link encap:Ethernet HWaddr 00:15:17:d7:7c:57
inet addr:192.168.0.182 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:fbae0000-fbb00000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2861447 errors:0 dropped:0 overruns:0 frame:0
TX packets:2861447 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2165856016 (2.0 GiB) TX bytes:2165856016 (2.0 GiB)
попробуй сеть рестартануть, что покажет потом?
Показывает тоже самое...
надо подумать :rolleyes:
Я не очень сверх глубоко знаю все тонкости настройки этого конфигурационного файла, но при инициализации интерфейса при стандартных настройках использовался параметр что то типа allow-pllug eth0, но при записи в таком виде всех интерфейсов после перезапуска сети виден был только eth0, а после отключения возникали достаточно странные вещи, как то попытки соединения через отключённый интерфейс.
Выкинуть лишние карточки. Повесить алиасы на интрфейсы, типа eth1.1, eth1.2.
А дальше великий прикол. Ручками писать роуты, с какого ip на какие хотите слать. Изврату нет преград... А оно точно надо?