Одновременная работа двух сетевых карт
Всем привет. Дебиан 9. Две сетевые карты
привязываю к ним интерфейсы eth0 и eth1
если в /etc/network/interfaces прописать сразу оба интерфейса, то активен и пингуется только eth0
если прописывать по отдельности, то работает и eth0 и eth1 соответственно.
auto eth0 iface eth0 inet static address 192.168.0.121 gateway 192.168.0.228 netmask 255.255.252.0
auto eth1 iface eth0 inet static address 192.168.0.122 netmask 255.255.252.0
Подозреваю, что дело в шлюзе, так? Вроде бы шлюз прописывается только для первого интерфейса, а для второго надо прописывать маршрут. Но никак не могу разобраться, как правильно. Подскажите, пожалуйста, что сделать, чтобы заработало )
Зачем две сетевые карты? Тем более в одной подсети IPv4? Если нужна избыточность, то нужна агрегация LACP, если нужно два айпишника, то можно привязать к одной сетевухе, алиасингом или еще чем-то.
Опечатка же во втором конфиге?
auto eth1 iface eth0 inet static address 192.168.0.122 netmask 255.255.252.0
Русские форумы такие форумы?
Только тут тебе расскажут, почему ты -мудак- не прав?
Раскажи чего ты хочешь этим добиться?
Чтобы понять почему идея гавно, надо чутка почитать как именно линукс роутит пакеты, в реальном мире, для каждого сконфигурированного интерфейса создаётся маршрут x.x.x.x/netmask означающий, что на адреса в этой подсети слать пакеты напрямую получателям, в твоём примере создастся: 192.168.0.0/22 dev eth0 proto kernel scope link src 192.168.0.121
Это значит, что всё исходящее в 192.168.0.0/22 должно уходить с eth0, а всё приходящее на eth0 из 192.168.0.0/22 адресовано нам. Когда ты создаешь второй интерфейс с адресом в той же сети, ещё один маршрут для подсети 192.168.0.0/22 создасться не может, т.к. её уже обслуживает eth0. Все входящие пакеты на 192.168.0.122 будут приходить на eth1, а в соотвествии с таблицей маршрутизации за 192.168.0.0/22 ответственный eth0, такие пакеты по дефолту считаются не парвильными и называются «марсианскими» (martian), если проверишь dmesg то наверняка увидишь там такие записи. Кароче в реальном мире твоя схема кривая и работать не должно, но обойти эти ограничения можно, но это ппц костыли и я бы за такое ими тебя и ***покарал***, например ты можешь включить Promiscuous режим на eth1, тогда ядро будет пропускать марсианские пакеты и твоё поделие начнёт подавать признаки жизни, но исходящий трафик всё равно будет ходить через eth0 по умолчанию.
Re: Русские форумы такие форумы?
На украинских форумах такая же история, на англоязычных ресурсах также песня.
но исходящий трафик всё равно будет ходить через eth0 по умолчанию
А что мешает сделать «ip ro add 192.168.0.32/28 dev eth1 scope link src 192.168.0.122» ? Пусть к .32-.47 ходят через eth1 !
PS любимые грабли нужно знать по именам: rp_filter, arp_accept, arp_announce, arp_filter, arp_ignore
Чёта не понял про грабли))) Я бы в ситуации ТС создал ещё одну таблицу маршрутизации в /etc/iproute2/rt_tables и загнал туда eth1 правилом. Хотя всё равно решение плохое и так делать не надо
Я бы в ситуации ТС создал ещё одну таблицу маршрутизации
Он пока с одной не разобрался.
В такой ситуации ТС может просто реализовать только статическую схему, в которой часть хостов в сети будет адресоваться через eth0, а часть через eth1, просто добавив маршруты. Например, dgw через eth1, а все остальное через eth0, или половину сети через один интерфейс, а остальных через другой.
Но ему нужно пройти грабли которые специально разложены на пути для тех, кто начинает использовать несколько самостоятельных интерфейсов в одной подсети. Это не запрещено, но ты должен доказать системе, что ты понимаешь на что подписался. Это как раз и нужно выразить через sysctl net.ipv4.conf.
Re: Русские форумы такие форумы?
А белорусы с казахами чё ?
Re: Русские форумы такие форумы?
- мудаком его никто не называл
- неправым тоже
- но, о ужас! презренные хелперы-помогаторы дерзнули объяснять, как может (должно) сделать и стали требовать дополнительных пояснений (ну, тупые, ага)
- да — «Русские форумы такие форумы» ©
Извечный вопрос: Как настроить две сетевые карты на Linux?
TolikCorp
Участник
Всем привет, хочу настроить две сетевые карты.
Сначала клонировал мак адрес и настроил вторую сетевую:
interfaces
(ppp0, или нечтно подобное должно появиться при написании ifconfig) НО! у меня есть только eth0 (ип выдан верный) eth1 и loopback
Испробовал по очереди:
Т.к. это не получилось — пробовал другое, USNET=10.0.0.0/24 PUBIP=тут мой ip WAN_ADAPTER=eth0
Не получилось и так.
Далее вернул к прежнему. Ребят, помогите настроить.
Комп, подключенный к eth1 настроен так: ip: 10.0.0.2 маска стандарт 255.255.255.0
Подключился через путти к 10.0.0.1.
Так как я клонировал мак адрес роутера, на который настроен инет — ifconfig выдал верные значения ип, шлюза. (когда использовал стандартный мак — настройки не выдавались). Писал в путти ping -c 4 google.ru ответ на это вроде бы unknown host, что очень странно!
Смотрю инфу: http://blog.aloneunix.ru/2011/11/debian.html то же самое.
Я только не пойму — если ип выдался верный, и я с путти пытался пинговать гугол, не получилось. хммм
«Теперь применим только что отредактированный конфиг:
$ sudo sysctl -p» эта команда разорвет соединения игроков с сервом?
tabletka99
Участник
Них не понял, понаписал кучу всего, а вопроса так и не задал ;)))
что значит настроить две сетевые карты? просто ипы им дать или там два шлюза еще.
tiger_by
Гл. Админ SourceGames.RU
BMW M6
Участник
1) Добавляем блок в /etc/network/interface
2. в /etc/sysctl.conf раскомменчиваем строчку (или добавляем если нет): net.ipv4.ip_forward=1
3. в /etc/rc.local перед exit 0:
4. Узнаём свои dns адреса командой. У меня лежат тут /etc/resolv.conf
5.Настраиваем роутер на статику:
ip 192.168.2.2
маска: 255.255.255.0
шлюз: 192.168.2.1
tabletka99
Участник
ZloyMonah
Участник
TolikCorp
Участник
tiger_by
Гл. Админ SourceGames.RU
LEII4A
Участник
TolikCorp
Участник
Добавлено через 3 минуты
Капец какой-то, на етх0 ип выдался верный, вроде даже всё ок. Пишу ping -c 4 google.ru — просто не хочет ответ — unknown host. Подключаю обратно к роутеру — пинг нормально рабит.
tiger_by
Гл. Админ SourceGames.RU
TolikCorp
Участник
tiger_by
Гл. Админ SourceGames.RU
TolikCorp
Участник
tiger_by
Гл. Админ SourceGames.RU
TolikCorp
Участник
$ sudo touch /etc/network/if-up.d charge_dns
$ sudo nano /etc/network/if-up.d/charge_dns
#! /bin/sh
echo «nameserver ip» > /etc/resolv.conf
echo «nameserver ip» >> /etc/resolv.conf
sudo chmod +x /etc/network/if-up.d/charge_dns
tabletka99
Участник
сотри все и добавь две строки
nameserver 8.8.8.8
nameserver 8.8.4.4
это днс гугла и попробуй. должно работать все. в сети что ты раздаешь на етх1 так же указывай эти днс.
tiger_by
Гл. Админ SourceGames.RU
TolikCorp
Участник
TolikCorp
Участник
# ping -c 4 178.49.245.129
PING 178.49.245.129 (178.49.245.129) 56(84) bytes of data.
64 bytes from 178.49.245.129: icmp_req=1 ttl=64 time=1.29 ms
64 bytes from 178.49.245.129: icmp_req=2 ttl=64 time=1.19 ms
64 bytes from 178.49.245.129: icmp_req=3 ttl=64 time=1.20 ms
64 bytes from 178.49.245.129: icmp_req=4 ttl=64 time=1.49 ms
— 178.49.245.129 ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 1.196/1.296/1.492/0.121 ms
[email protected]:
# ping -c 4 hlmod.ru
PING hlmod.ru (94.127.69.212) 56(84) bytes of data.
64 bytes from s094127069212.m.truevds.ru (94.127.69.212): icmp_req=1 ttl=52 time=59.1 ms
64 bytes from s094127069212.m.truevds.ru (94.127.69.212): icmp_req=2 ttl=52 time=52.8 ms
64 bytes from s094127069212.m.truevds.ru (94.127.69.212): icmp_req=3 ttl=52 time=52.5 ms
64 bytes from s094127069212.m.truevds.ru (94.127.69.212): icmp_req=4 ttl=52 time=53.4 ms
— hlmod.ru ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 52.507/54.488/59.194/2.750 ms
[email protected]:
Содержание resolv.conf
domain cn.ru
search cn.ru novotelecom.ru
nameserver 192.168.0.1
$ sudo touch /etc/network/if-up.d charge_dns
$ sudo nano /etc/network/if-up.d/charge_dns
#! /bin/sh
echo «nameserver ip» > /etc/resolv.conf
echo «nameserver ip» >> /etc/resolv.conf
sudo chmod +x /etc/network/if-up.d/charge_dns
Когда это перепробовал, изменил charge_dns:
#! /bin/sh
echo «domain cn.ru» >> /etc/resolv.conf
echo «search cn.ru novotelecom.ru» >> /etc/resolv.conf
echo «nameserver 178.49.132.66» >> /etc/resolv.conf
echo «nameserver 178.49.132.67» >> /etc/resolv.conf
До гугла с его ДНСами и провайдера не смог достучаться во всех случаях, кроме первого, где сервер подключен к роутеру.
Добавлено через 49 минут
Все же интересно, почему даже шлюз не пингуется.