LINUX.ORG.RU
ФорумAdmin

Объединение и балансировка для самых маленьких.


0

1

Всем привет ^^

Прошу объяснить и помочь при возможности.

Есть один провайдер, мне как абоненту присвоен ip, этот ip привязан к MACу определенной сетевушки. Как выяснилось есть пару незанятых ip, для внутреннего использования сотрудниками, эти ip не привязаны к MAC.

Есть ли возможность осуществить балансировку и объединить для увеличения скорости?

Скорость каждого примерно 10 Mб/с

  • Что имею.

Шнурок (витая пара) от оборудования провайдера заходит в switch (1 порт) затем из порта 6 шнурком (crossover) в ПК1, интеловская сетевушка Intel pro/100+, в настройка руками прописаны ip/dns/шлюз (привел их ниже).

Из порта 7 прямым шнурком в ПК1, во вторую сетевушку.

root@dom:/home/user# modprobe 8021q
root@dom:/home/user# lspci | grep Ethernet
00:14.0 Bridge: NVIDIA Corporation MCP51 Ethernet Controller (rev a3)
03:07.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 08)
root@dom:/home/user# uname -a
Linux dom 3.2.0-4-686-pae #1 SMP Debian 3.2.46-1 i686 GNU/Linux
root@dom:/home/user# cat /etc/debian_version
jessie/sid
root@dom:/home/user# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:15:58:91:13:ХХ 
          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)
          Interrupt:21 Base address:0x4000 

eth4      Link encap:Ethernet  HWaddr 00:0b:6a:f5:f5:ХХ  
          inet addr:Х.Х.Х.115  Bcast:Х.Х.Х.255  Mask:255.255.255.0
          inet6 addr: fe80::20b:6aff:fef5:f505/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:107547 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52357 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:125301065 (119.4 MiB)  TX bytes:4418675 (4.2 MiB)

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:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:480 (480.0 B)  TX bytes:480 (480.0 B)

В /etc/resolv.conf прописал DNS, а в /etc/network/interfaces прописал следующее

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# allow-hotplug eth0
# iface eth0 inet dhcp

auto eth4
iface eth4 inet static
address Х.Х.Х.115
netmask 255.255.255.0
gateway Х.Х.Х.1
hwaddress ether 00:0B:6A:F5:F5:ХХ

Ответ на: комментарий от sin-ok
  • Установил ifenslave* ethtool
  • Редактирую /etc/modprobe.d/bonding.conf alias bond0 bonding options bonding mode=0 miimon=100 downdelay=200 updelay=200
  • В /etc/modules добавил bonding mode=0 miimon=100 downdelay=200 updelay=200

В /etc/network/interfaces следующее

auto bond0
iface bond0 inet dhcp
   bond-slaves none
   bond-mode active-backup
   bond-miimon 100

auto eth0
   iface eth0 inet manual
   bond-master bond0
   bond-primary eth0 eth4

auto eth4
iface eth1 inet manual
   bond-master bond0
   bond-primary eth0 eth4  

-
Больше там, кроме 
# The loopback network interface
auto lo
iface lo inet loopback

ничего нет
sin-ok
() автор топика
Ответ на: комментарий от sin-ok

Не знаю, зачем вам посоветовали гуглить про «link aggregation», в моём понимании, это для того, чтобы вы поняли, что такое бондинг и поняли, что это не ваш случай.

Если у провайдера по 10 Мбит/с на каждый ip-адрес, то нужно пускать трафик со всех этих трёх (двух) адресов, то есть настраивать балансировку через маршрутизацию: http://lartc.org/howto/lartc.rpdb.multiple-links.html#AEN297

А сначала вам нужно научится, чтобы работал интернет через оба интерфейса, и через Х.Х.Х.115, и через ip-адрес, выданный по dhcp. При этом, если вы хотите, чтобы две сетёвки торчали в одни коммутатор, нужно отключить ненужные ответы на arp череp /proc/sys/net/ipv4/conf/$DEV/arp_filter.

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

Учимся

root@dom:/home/user# ip route del default
root@dom:/home/user# ip route add default scope global nexthop via X.X.X.1 dev eth0 weight 1 nexthop via X.X.X.1 dev eth1 weight 1

X.X.X.1 - шлюз, одинаков у двух

root@dom:/home/user# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         ss              0.0.0.0         UG    0      0        0 eth0
localnet        *               255.255.255.0   U     0      0        0 eth0
localnet        *               255.255.255.0   U     0      0        0 eth1
root@dom:/home/user# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0b:6a:f5:f5:XX 
          inet addr:X.X.X.115  Bcast:X.X.X.255  Mask:255.255.255.0
          inet6 addr: fe80::20b:6aff:fef5:f505/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:216636 errors:0 dropped:25 overruns:0 frame:0
          TX packets:112462 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:285846804 (272.6 MiB)  TX bytes:17132743 (16.3 MiB)

eth1      Link encap:Ethernet  HWaddr 00:15:58:91:XX:XX  
          inet addr:X.X.X.112  Bcast:X.X.X.255  Mask:255.255.255.0
          inet6 addr: fe80::215:58ff:fe91:13b2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28799 errors:0 dropped:25 overruns:0 frame:0
          TX packets:14332 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:34547477 (32.9 MiB)  TX bytes:2778996 (2.6 MiB)
          Interrupt:21 Base address:0x2000 

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:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:240 (240.0 B)  TX bytes:240 (240.0 B)


Пока не получается, призываю к помощи.
anonymous
()
Ответ на: комментарий от anonymous

Кое что получилось. Естественно благодаря сетевому братику, он няша-умняша.

Торенты качает со скоростью 4 Мб/с, остальное все крайне нестабильно, месcеджеры и прочие браузеры, ну вы поняли.

Продолжим завтра, а сейчас сооон.

sin-ok
() автор топика
Ответ на: комментарий от sin-ok

Вы про arp поняли? Допустим Знатоки сетей и ARP, помогайте плз :) , посмотрите tcpdump'ом, что ваша машина правильно отвечает на arp-запросы и что нет ответов наоборот типа:

 X.X.X.112 -> 00:0b:6a:f5:f5:XX
 X.X.X.115 -> 00:15:58:91:XX:XX 

И несколько default маршрутов обычно требует SNAT. Убедитесь, опять же с помощью tcpdump, что через eth0 уходят пакеты с src X.X.X.115, а через eth1 с src X.X.X.112.

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

Что-то окончательно запутался. При закачке торентов скорость в два раза больше стала, это легко проверяется, просто выдергивается шнурок (ну и обратно соответственно).

Когда не подключены

root@dom:/home/user# arp -a
ef5c70752a0f416 (7.7.7.8) at 00:11:2f:c8:56:f5 [ether] on eth0
ss (7.7.7.1) at 68:05:ca:0c:5b:a3 [ether] on eth0
После команды
ip route del default
ip route add default scope global nexthop via 7.7.7.1 dev eth0 weight 1 nexthop via 7.7.7.1 dev eth1 weight 1 nexthop via 7.7.7.1 dev eth1:0 weight 1 nexthop via 7.7.7.1 dev eth0:0 weight 1 nexthop via 7.7.7.1 dev eth1:0 weight 1 nexthop via 7.7.7.1 dev eth1:1 weight 1  

root@dom:/home/user# arp -a
ss (7.7.7.1) at 68:05:ca:0c:5b:a3 [ether] on eth1
ef5c70752a0f416 (7.7.7.8) at 00:11:2f:c8:56:f5 [ether] on eth0
ss (7.7.7.1) at 68:05:ca:0c:5b:a3 [ether] on eth0

root@dom:/home/user# ip ro sh
default 
	nexthop via 7.7.7.1  dev eth0 weight 1
	nexthop via 7.7.7.1  dev eth1 weight 1
	nexthop via 7.7.7.1  dev eth1 weight 1
	nexthop via 7.7.7.1  dev eth0 weight 1
	nexthop via 7.7.7.1  dev eth1 weight 1
	nexthop via 7.7.7.1  dev eth1 weight 1
7.7.7.0/24 dev eth0  proto kernel  scope link  src 7.7.7.15 
7.7.7.0/24 dev eth1  proto kernel  scope link  src 7.7.7.102 

root@dom:/home/user# tcpdump -ni eth0 arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
19:12:22.697984 ARP, Request who-has 7.7.7.12 tell 7.7.7.7, length 46
19:12:23.165146 ARP, Request who-has 7.7.7.1 (ff:ff:ff:ff:ff:ff) tell 7.7.7.100, length 46
19:12:23.632757 ARP, Request who-has 7.7.7.12 tell 7.7.7.7, length 46
19:12:23.650728 ARP, Request who-has 7.7.7.17 tell 7.7.7.7, length 46
19:12:24.634526 ARP, Request who-has 7.7.7.12 tell 7.7.7.7, length 46
19:12:24.634542 ARP, Request who-has 7.7.7.17 tell 7.7.7.7, length 46
19:12:24.643161 ARP, Request who-has 7.7.7.39 tell 7.7.7.7, length 46
19:12:25.633053 ARP, Request who-has 7.7.7.17 tell 7.7.7.7, length 46
19:12:25.633066 ARP, Request who-has 7.7.7.39 tell 7.7.7.7, length 46
19:12:26.634720 ARP, Request who-has 7.7.7.39 tell 7.7.7.7, length 46
19:12:30.726510 ARP, Request who-has 7.7.7.12 tell 7.7.7.7, length 46
19:12:31.634445 ARP, Request who-has 7.7.7.12 tell 7.7.7.7, length 46
19:12:31.647456 ARP, Request who-has 7.7.7.17 tell 7.7.7.7, length 46
19:12:32.635173 ARP, Request who-has 7.7.7.12 tell 7.7.7.7, length 46
19:12:32.635185 ARP, Request who-has 7.7.7.17 tell 7.7.7.7, length 46
19:12:32.641011 ARP, Request who-has 7.7.7.39 tell 7.7.7.7, length 46
19:12:33.170417 ARP, Request who-has 7.7.7.1 (ff:ff:ff:ff:ff:ff) tell 7.7.7.100, length 46
19:12:33.636325 ARP, Request who-has 7.7.7.17 tell 7.7.7.7, length 46
19:12:33.636336 ARP, Request who-has 7.7.7.39 tell 7.7.7.7, length 46
19:12:34.636421 ARP, Request who-has 7.7.7.39 tell 7.7.7.7, length 46

root@dom:/home/user# tcpdump -ni eth1 arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
19:12:40.635348 ARP, Request who-has 7.7.7.12 tell 7.7.7.7, length 46
19:12:40.635362 ARP, Request who-has 7.7.7.17 tell 7.7.7.7, length 46
19:12:40.641449 ARP, Request who-has 7.7.7.39 tell 7.7.7.7, length 46
19:12:41.635636 ARP, Request who-has 7.7.7.17 tell 7.7.7.7, length 46
19:12:41.635650 ARP, Request who-has 7.7.7.39 tell 7.7.7.7, length 46
19:12:42.637629 ARP, Request who-has 7.7.7.39 tell 7.7.7.7, length 46
19:12:43.175981 ARP, Request who-has 7.7.7.1 (ff:ff:ff:ff:ff:ff) tell 7.7.7.100, length 46
19:12:46.628586 ARP, Request who-has 7.7.7.1 tell 7.7.7.7, length 46
19:12:46.746875 ARP, Request who-has 7.7.7.1 tell 7.7.7.7, length 46
19:12:46.848790 ARP, Request who-has 7.7.7.12 tell 7.7.7.7, length 46

root@dom:/home/user# tcpdump -nei eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
19:15:16.712525 68:05:ca:0c:5b:a3 > 00:0b:6a:f5:f5:05, ethertype IPv4 (0x0800), length 98: 91.198.36.14 > 7.7.7.102: ICMP echo reply, id 3027, seq 803, length 64
19:15:17.713898 68:05:ca:0c:5b:a3 > 00:0b:6a:f5:f5:05, ethertype IPv4 (0x0800), length 98: 91.198.36.14 > 7.7.7.102: ICMP echo reply, id 3027, seq 804, length 64
19:15:18.715351 68:05:ca:0c:5b:a3 > 00:0b:6a:f5:f5:05, ethertype IPv4 (0x0800), length 98: 91.198.36.14 > 7.7.7.102: ICMP echo reply, id 3027, seq 805, length 64

root@dom:/home/user# tcpdump -nei eth1 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
19:16:10.782684 00:15:58:91:13:b2 > 68:05:ca:0c:5b:a3, ethertype IPv4 (0x0800), length 98: 7.7.7.102 > 91.198.36.14: ICMP echo request, id 3027, seq 857, length 64
19:16:11.784107 00:15:58:91:13:b2 > 68:05:ca:0c:5b:a3, ethertype IPv4 (0x0800), length 98: 7.7.7.102 > 91.198.36.14: ICMP echo request, id 3027, seq 858, length 64

sin-ok
() автор топика
Ответ на: комментарий от mky

Оказывается есть еще «свободные» IP Прописал таким вот образом, но невзлетело.

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth1
iface eth1 inet static
        address X.X.X.112
        netmask 255.255.255.0
        network X.X.X.0
        broadcast X.X.X.255
        gateway X.X.X.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers X.X.X.1
#
auto eth1:0
allow-hotplug eth1:0
iface eth1:0 inet static
      address X.X.X.113
      netmask 255.255.255.0

auto eth1:1
allow-hotplug eth1:1
iface eth1:1 inet static
      address X.X.X.104
      netmask 255.255.255.0

#############
auto eth0
iface eth0 inet static
address X.X.X.115
netmask 255.255.255.0
gateway X.X.X.1
hwaddress ether 00:0B:6A:F5:F5:XX

auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
      address X.X.X.116
      netmask 255.255.255.0

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