Для тестирования меня интересует способ программирования сервера, который будет выдавать себя за настраиваемые удаленные серверы, то есть сервер в моей сети будет выполнять роль маршрутизатора, но вместо пересылки пакетов в общедоступную сеть он позволит мне обрабатывать их локально. , Есть ли какое-либо программное обеспечение, фреймворк, библиотека или платформа, которая делает это, предпочтительнее для работы в Linux?
1 ответ
В типичной домашней ситуации ваш маршрутизатор работает с DHCP-сервером и в качестве маски шлюза / подсети по умолчанию будет использовать собственную маску IP / подсети. Это то, что заставляет другие компьютеры в сети использовать его в качестве маршрутизатора, если вы не настроите их статически.
Например, пакет isc-dhcp-server
в Debian позволит вам запустить DHCP-сервер на ПК. Вы должны сначала отключить один на своем маршрутизаторе, иначе это чистый шанс, который один клиент будет слушать.
Если ваши клиенты используют DNS для определения того, к какому IP-адресу подключаться, на этом этапе вы можете настроить свой собственный DNS-сервер с bind
, настроить небольшой локальный сервер для перехвата определенных имен хостов и настроить его для переадресации на остальные сервера имен вашего провайдера, или другой общедоступный поставщик DNS, такой как Google, OpenDNS или OpenNIC.
Если удаленная служба использует сертификаты для проверки того, к кому она подключается, она не будет работать или выдаст предупреждения, так как это атака «человек посередине».
Система Linux может пересылать между двумя сетевыми адаптерами, если установлены два. Многие домашние маршрутизаторы - именно это - ядро Linux, работающее на процессоре MIPS или ARM. Поиск предоставит множество учебных пособий о том, как включить переадресацию портов и запустить их с NAT с использованием iptables
. В этом случае ваш домашний маршрутизатор будет полностью исключен, если только вы не захотите использовать его для беспроводной связи (и вы не будете использовать "маршрутизатор", часть вашего маршрутизатора, только WLAN).
И в этой конфигурации iptables
вы можете настроить цели REDIRECT
которые будут прозрачно перехватывать исходящий трафик на конкретные IP-адреса и перенаправлять его на другие IP-адреса, такие как локальные IP-адреса или адреса в DMZ.
И если удаленная служба использует сертификаты для проверки того, к кому она подключается, она не будет работать или выдаст предупреждения, так как это атака «человек посередине».
Будьте готовы к некоторому изучению с помощью bind
и iptables
. Детали реализации слишком много, чтобы предоставить здесь, но это вполне возможно.