Почему две сетевые карты не могут работать, если они настроены для одной и той же сети, и могу ли я это исправить?

Это может показаться странным вопросом, но что бы вы использовали для создания типичной голливудской хакерской сцены?

Голливудская технодрама, должна быть достаточно вдохновляющей для того, что вы ищете. Она доступна в виде пакета для Linux, также на github, вы можете выбрать понравившиеся вам фрагменты и собрать что-то для OS X.

На систему Debian/Ubuntu можно установить так:

sudo apt-get install hollywood

Или, если это не работает:

sudo apt-add-repository ppa:hollywood/ppa
sudo apt-get update
sudo apt-get install hollywood

1
06.12.2018, 14:03
3 ответа

Поскольку устройства-роботы имеют разные IP-адреса, самым простым способом будет создание моста Linux с двумя интерфейсами Ethernet в качестве портов. Что-то вроде

ip link add name br0 type bridge
ip link set enp3s0 master br0
ip link set enp6s0 master br0

Затем установите одиночный IP-адрес на внутреннем интерфейсе br0:

.
ip addr add 10.0.0.1/24 dev br0

и вы должны быть в порядке, без коммутатора, свисающего с хвоста коробки, но все по-прежнему в той же сети.

И пожалуйста, пожалуйста , не используйте Kali Linux для таких вещей. Прочтите это и сделайте себе одолжение и переключитесь на какой-нибудь дистрибутив (на основе Debian -, так как Kali также основана на Debian -), который предназначен для повседневной работы. Вы столкнетесь с гораздо меньшими трудностями. И все блестящие инструменты, которые есть у Kali, также могут быть установлены.

2
27.01.2020, 23:14

По умолчанию драйвер IP-протокола Linux использует оптимизацию, имеющую техническое название «модель слабой конечной системы» или «модель слабого хоста». Подробнее см. в этом вопросе.

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

Если в вашей системе включена фильтрация обратного пути (/proc/sys/net/ipv4/conf/*/rp_filter), она может заблокировать проверку связи с одним из роботов, даже если вы укажете сетевой интерфейс (произнесите eth1):, когда придет ответ через eth1фильтр обратного пути видит, что нормальная маршрутизация к этому IP-адресу источника будет проходить через eth0, и поэтому этот входящий пакет на eth1должен быть поддельным. Вы можете увидеть, происходит ли это, если вы включите параметр журнал _марсиане :

.
for i in /proc/sys/net/ipv4/conf/*/log_martians; do
    echo 1 > $i
done

Затем попробуйте пропинговать своих роботов, а затем проверьте конец dmesgвывода :вы можете увидеть сообщения о потерянных пакетах.

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

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

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

3
27.01.2020, 23:14

Для 21 и 70 можно использовать две непересекающиеся подсети 10.0.0.0/26 и 10.0.0.64/26 (/26 = маска 255.255.255.192 ). Предполагая, что другие интерфейсы не включают 10.0.0.0/25.

1
27.01.2020, 23:14

Теги

Похожие вопросы