Linux 2 внешних сетей

Объединение сетевых интерфейсов в linux

Так уже получилось что писал статью для howtoforge. И естественно тут же все это оказалось в русском варианте на других сайтах. Только вот незадача: в статье были допущены неточности, и публицисты с других «сайтов» вставили as-is.
Хочу попробовать исправить это оплошность.
Для чего это надо?
Объясню на примере: был у меня фтп с 2мя сетевыми картами, но использовалась одна. Со временем весь 1Гб/с начал забиваться по вечерам — и людям плохо, и у меня iowait растет. Но есть вторая сетевая карта. Так вот такое объединение позволит использовать 2 (3, 4, 5. ) как одну с 2Гб/с.
Но это не «потолок», вот полный список режимов:
mode=0 (balance-rr)
Последовательно кидает пакеты, с первого по последний интерфейс.
mode=1 (active-backup)
Один из интерфейсов активен. Если активный интерфейс выходит из строя (link down и т.д.), другой интерфейс заменяет активный. Не требует дополнительной настройки коммутатора
mode=2 (balance-xor)
Передачи распределяются между интерфейсами на основе формулы ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Один и тот же интерфейс работает с определённым получателем. Режим даёт балансировку нагрузки и отказоустойчивость.
mode=3 (broadcast)
Все пакеты на все интерфейсы
mode=4 (802.3ad)
Link Agregation — IEEE 802.3ad, требует от коммутатора настройки.
mode=5 (balance-tlb)
Входящие пакеты принимаются только активным сетевым интерфейсом, исходящий распределяется в зависимости от текущей загрузки каждого интерфейса. Не требует настройки коммутатора.
mode=6 (balance-alb)
Тоже самое что 5, только входящий трафик тоже распределяется между интерфейсами. Не требует настройки коммутатора, но интерфейсы должны уметь изменять MAC.
Настройка
Очень простая. Вы выбираете режим, втыкаете в коммутатор второй кабель.
Дальше в зависимости от системы, я делал это на Debian Lenny
#apt-get install ifenslave-2.6
Дальше есть 2 варианта:
Вариант №1 Подправить /etc/network/interfaces к примеру так.
iface bond0 inet static
address 10.0.1.5
netmask 255.255.255.0
network 10.0.1.0
gateway 10.0.1.254
up /sbin/ifenslave bond0 eth0 eth1
down /sbin/ifenslave -d bond0 eth0 eth1
и подправить /etc/modprobe.d/arch/i386 примерно так
alias bond0 bonding
options bonding mode=5 miimon=100 downdelay=200 updelay=200
Естественно указать свой режим и настройки сети.
# update-modules
# ifdown eth0 eth1
# ifup bond0
# /etc/init.d/networking restart
Вариант №2 Все настройки через /etc/network/interfaces
iface bond0 inet static
address 10.0.1.5
netmask 255.255.255.0
network 10.0.1.0
gateway 10.0.1.254
bond_mode balance-tlb
bond_miimon 100
bond_downdelay 200
bond_updelay 200
slaves eth0 eth1
Сохраняем и пишем:
update-modules
# ifdown eth0 eth1
# ifup bond0
# /etc/init.d/networking restart
После этого должен появится один интерфейс bond0. Далее можно плодить интерфейсы bon0:0 и т.д.
UPD: Перенес из своего блога в нужный
UPD 2: Спасибо infotim, за правки.

Источник

Linux и 2 внешних интерфейса

Стоял себе сервер, подключенный к одному провайдеру (ip 1.1.1.1). Все в порядке, все работает. И вот привалило счастье — появился второй провайдер (для большей доступности). Подключили еще одну сетевую карту, назначили ip 2.2.2.2. Проверяем доступность сайта или почты через 2.2.2.2. А в ответ — тишина. На запросы не отвечает, сайт по нему не открывается. Хотя и брандмауэр уже настроили, и вроде бы все должно работать. Все дело в маршруте по-умолчанию. Если default gateway у сервера указан как 1.1.1.1, то даже если вы снаружи пытаетесь пингануть 2.2.2.2, то сервер все равно упорно отправит ответ через 1.1.1.1, соответственно, пакет будет потерян, т.к. выйдет через другой интерфейс. Что делать?

Читайте также:  Apple для linux ubuntu

Это исправляется достаточно просто. Основная идея: создать правило, которое укажет, через какой GW отправить пакет (читай, куда пихнуть ответ), если запрос пришел на конкретный IP.

Например, шлюз по умолчанию у нас 1.1.1.1. Соответственно, если пытаться снаружи пинговать 2.2.2.2, мы получим тишину в эфире.

Готовим таблицы маршрутизации:

ip route add default via 1.1.1.1 table 101
ip route add default via 2.2.2.1 table 201

Читайте: «таблица маршрутизации 101 отправит пакет через шлюз 1.1.1.1, а таблица 201 — через шлюз 2.2.2.1»

Создадим правило, что пришедшее с IP 1.1.1.2 попадает в таблицу 101, а с IP 2.2.2.2 — в таблицу 201:

ip rule add from 1.1.1.2 table 101
ip rule add from 2.2.2.2 table 201

Читайте: «если запрос пришел с 1.1.1.2, то связанный с ним ответ отправить в таблицу 101, а если с 2.2.2.2, то в таблицу 201».

# ip rule
0: from all lookup local
32764: from 1.1.1.2 lookup 101
32765: from 2.2.2.2 lookup 201
32766: from all lookup main
32767: from all lookup default

Например, пинганули мы снаружи наш хост по IP 2.2.2.2. Пакет пришел на 2.2.2.2. Ага! Значит, хоть и шлюз по-умолчанию у нас 1.1.1.1, ответ на этот пинг ядро отправит через шлюз 2.2.2.1. Вот и все! А еще можете посмотреть здесь.

Авторизуйтесь для добавления комментариев!

Источник

Linux 2 внешних сетей

Друзья, в общем такая ситуация, описываю:
Все нижеописанные действия производятся на XFCE 18.2
В локальной сети есть IP камера, нужно из внешки через интернет (установлен Teamviewer) подключиться к ней.
Соответственно, вставляю USB модем, он весело и быстро подключается, все хорошо, но как только подключаюсь пачкордом от камеры к LAN порту компа (предварительно прописав IP сети в которой находится камера), система говорит что обнаружено другое подключение и переключает на LAN.
Получается что одновременно два сетевых подключения не может быть как это делает винда?
Может есть какое-либо решение?

Изображение

Официальный форум Linux Mint Russian — https://forums.linuxmint.com/viewforum.php?f=75
Linux Mint 19.1 XFCE 64bit (Kernel 4.18.0-16)
Пингвин птица гордая — не полетит, пока не пнёшь.

Chocobo Сообщения: 10010 Зарегистрирован: 27 авг 2016, 22:57 Решено: 215 Откуда: НН Благодарил (а): 812 раз Поблагодарили: 3000 раз Контактная информация:

Два сетевых интерфейса одновременно

Nickolas , Да хоть десяток интерфейсов, вполне смогут работать одновременно, если конфликтовать адресацией или роутингом не будут.
Почитай вот эту тему, например — Не работают одновременно две сети (Пост sana-555 #25784)

Изображение

Изображение

Unborn Сообщения: 1920 Зарегистрирован: 03 сен 2016, 13:36 Решено: 24 Благодарил (а): 5 раз Поблагодарили: 264 раза Контактная информация:

Два сетевых интерфейса одновременно

В локальной сети есть IP камера, нужно из внешки через интернет (установлен Teamviewer) подключиться к ней.

Читайте также:  Linux file delete recursive

Соответственно, вставляю USB модем, он весело и быстро подключается, все хорошо, но как только подключаюсь пачкордом от камеры к LAN порту компа (предварительно прописав IP сети в которой находится камера)

Какой ещё сети, когда ты напрямую подключил железку к сетевому порту своей машины. Гланды через жопу что-ли посмотреть? Выйти в Инет, зайти оттуда на свою машину, чтобы глянуть как там работает камера, подключенная к проводному сетевому порту?
Тебе система правильно говорит — не могут просто так работать два сетевых внешних интерфейса. Для прямого подключения — только для локальной связи, тогда, в камеру можно зайти по веб-морде, если с ней это вообще возможно. Если камеру подключить как — предоставить сеть другим компам, то при соответствующих ностройках можно будет получить к ней доступ из вне. Но не через же жопу как ты собрался сделать.
Всё это в настройках NM.

Источник

Русские Блоги

Конфигурация сети хоста Linux с двумя сетевыми картами (через NAT для обеспечения взаимного доступа между внутренней и внешней сетями)

Поскольку лабораторная сеть реализует систему привязки реального имени, IP привязан к MAC-адресам. Эта лаборатория первоначально подала заявку на приобретение двух внешних сетевых IP-адресов. IP-адрес 1 привязан к серверу веб-сайта для предоставления услуг веб-сайта, а IP-адрес 2 привязан к AP, который используется сотрудниками лаборатории и другими серверами для ежедневного доступа к сети. для научных исследований.

В связи с корректировкой планировки научно-исследовательского института теперь необходимо перенести серверный шкаф в целом в компьютерный зал, а точка доступа перенесена в другое помещение с персоналом. Следовательно, все маршрутизаторы в шкафу не могут получить доступ к Интернету, за исключением веб-сервера, привязанного к IP. К счастью, веб-сервер имеет двойные сети и может образовывать новую интрасеть с другими серверами.

Теперь требования к задаче,

1. Персонал лаборатории обычно имеет доступ ко всем хостам во внутренней сети через Интернет для ежедневных научных исследований.

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

два. Конфигурация системы и структура сети

В лаборатории несколько серверов. В качестве примера мы возьмем одну внутреннюю и внешнюю сеть. Конфигурация сети и системы следующая:

имя сервера Операционная система Адрес в Интернете Адрес в сети
A centos 6.5 em1 202.127.200.1 em2 192.168.1.30
B ubuntu 14.04 eth1 192.168.1.32

Сначала перейдите на схему топологии:

три. Реализация инструкции

На самом деле, реализовать эту функцию очень просто: используйте NAT для переадресации портов и сообщите пакету данных, куда идти. Используйте собственные средства Centos iptables Достаточно функции межсетевого экрана.

1) Доступ из внешней сети во внутреннюю:

Мы получаем доступ к серверу интрасети из внешней сети в основном для удаленного управления SSH и доступа к порту 8888 Jupyter для онлайн-экспериментов по программированию на Python.

Таким образом, выполняется два набора перенаправления портов: а) Перенаправление с порта 8080 сетевого порта 202.127.200.1 хоста A на порт 8888 сетевого порта 192.168.1.32 хоста B для доступа к службе jupyter.

б) Перенаправить с порта 26545 сетевого порта 202.127.200.1 хоста A на порт 22 сетевого порта 192.168.1.32 хоста B для запуска службы удаленного доступа SSH.

Читайте также:  Partition recovery для linux

Первый шаг — это не настройка правил переадресации. Во-первых, вам необходимо настроить статические маршруты для двух сетевых карт, чтобы обеспечить бесперебойную связь.

Очистите исходный маршрут на хосте A и добавьте следующие три:

route add -net 202.127.200.0 gw 202.127.200.1 netmask 255.255.254.0 dev em1 # для обеспечения доступа внутри острова, 202.127.200.0/23 — это адрес интрасети колледжа

route add default 202.127.201.254 dev em1 # Добавить маршрут по умолчанию для доступа в Интернет

route add -net 192.168.1.0 gw 192.168.1.30 netmask 255.255.255.0 dev em2 # Маршрутизация внутри сети

Убедитесь, что на A. есть только эти три маршрута. Но конфигурация здесь временная, возможно, перезагрузите хост или маршрутизация исчезнет, ​​но я искал много информации, и доступ к конфигурации загрузки не может быть реализован, если вы знаете, оставьте сообщение, чтобы сообщить мне

В то же время для хоста B убедитесь, что его шлюз статической маршрутизации является адресом интрасети хоста A.

Далее настройте правила переадресации

> echo «1»> / proc / sys / net / ipv4 / ip_forward # Измените значение ip_forward в текущей системной памяти, это необходимо для включения переадресации ip

Включен, сначала начните настройку правила переадресации

>iptables -t nat -A PREROUTING -d 202.127.200.1 -p tcp —dport 8080 -j DNAT —to-destination 192.168.1.32:8888

# Укажите порт 8080 сетевой карты em1 [Сервер A] на порт 8888 сетевой карты em1 [Сервер B];

>iptables -t nat -A POSTROUTING -d 192.168.1.32 -p tcp —dport 8888 -j SNAT —to 192.168.1.30

# Установите порт 8888 в сетевой карте em1 [Сервер B] обратно на сетевую карту em2 [Сервер A];

>iptables -A FORWARD -o em2 -d 192.168.1.32 -p tcp —dport 8888 -j ACCEPT

>iptables -A FORWARD -i em2 -s 192.168.1.32 -p tcp —sport 8888 -j ACCEPT

# Установите правила пересылки для [Server A] em2 и отправьте их на em1 [Server B]

Таким образом, вы можете получить доступ к порту 8888 сервера B из внешней сети через порт 8080 [Server A], то же самое верно.

iptables -t nat -A PREROUTING -d 202.127.200.1 -p tcp —dport 26545 -j DNAT —to-destination 192.168.1.32:22

iptables -t nat -A POSTROUTING -d 192.168.1.32 -p tcp —dport 22 -j SNAT —to 192.168.1.30

iptables -A FORWARD -o em2 -d 192.168.1.32 -p tcp —dport 22 -j ACCEPT

iptables -A FORWARD -i em2 -s 192.168.1.32 -p tcp —sport 22 -j ACCEPT

Реализуйте дистанционное управление.

Но в это время наш сервер B по-прежнему не может получить доступ к внешней сети. Нам нужно построить мост между данными A и B. Также используйте правила переадресации:

>iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o em1 -j SNAT —to-source 202.127.200.1

# Перенести весь трафик данных из сети 192.168.1.0 из порта em1 в A

Сохраните правила, которые мы установили

# Записать правила в файл конфигурации

Некоторые люди могут быть осторожны с тем, будут ли конфликты в этой повторяющейся конфигурации, но мой фактический тест должен быть в порядке:

Экстранет доступ к jupyter

Доступ интранет-сервера к внешней сети

Спросите, откуда приходит трафик на Baidu? ? ?

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

Источник

Оцените статью
Adblock
detector