1 компьютер, 2 NIC, 2 общедоступных статических IP-адреса
У моего домашнего настольного компьютера есть две сетевые карты. Я использую один для своих личных интернет-потребностей, и планирую использовать другой несколько нетрадиционно. Я собираюсь создать сервер SOCKS/VPN на виртуальной машине, использовать его исключительно с запасной сетевой платой и присвоить ему свой публичный статический IP-адрес. В настоящее время у меня есть один шлюз "маршрутизатор" и один модем в качестве отдельных компонентов.
Есть два направления этого плана, которые до сих пор остаются для меня загадкой.
Я могу изолировать трафик виртуальной машины к одному из сетевых адаптеров, но как мне изолировать трафик хост-машины к другому?
Какой самый безопасный и дешевый способ настроить это?
Насколько я понимаю, я мог бы получить маршрутизатор, который может быть заменен на dd-wrt или OpenWrt, что позволило бы мне использовать 1:1 NAT и публично выставлять оба IP-адреса. Затем я мог бы поместить свой существующий шлюз между сетевой картой хоста и маршрутизатором для дополнительного уровня безопасности. Поскольку виртуальная машина используется более серьезно, она, вероятно, потребует также аппаратного уровня безопасности внутри маршрутизатора.
С другой стороны, я мог бы получить коммутатор и другой шлюз. Я не купил коммутатор раньше, и я не уверен, что искать в этом контексте.
Я упускаю другие возможности?
2 ответа
Вы можете изолировать roothost, просто не включив / не настроив L3 на интерфейсе roothost для этого сетевого адаптера (при условии, что гипервизор обеспечивает сеть для ВМ через мостовой интерфейс L2). Это обеспечит разделение трафика и базовую безопасность (т. Е. Не подвергает roothost виртуальной машине).
Что касается более жесткой безопасности, каковы ваши реальные требования / беспокойства здесь?
От roothost до VM это всегда будет отрывочным.
Между ВМ и сетью вам не нужно больше оборудования. Вы можете развернуть другую виртуальную машину с OpenWrt или, ну, любой другой маршрутизатор с включенной безопасностью и затем пропустить трафик через нее. Затем подключите внешний мостовой мост L2 к виртуальной машине маршрутизатора и подключите целевую виртуальную машину к виртуальной машине маршрутизатора через отдельный виртуальный коммутатор.
Но зачем даже рассматривать внешний брандмауэр, когда вы можете использовать внутренний, в операционной системе целевой виртуальной машины?
С точки зрения безопасности, я бы не стал использовать NAT 1: 1, а только выставлял / передавал необходимые порты. Дает вам больше контроля и обеспечивает дополнительный уровень безопасности / сложности против злоумышленника.
Если интернет-провайдер настраивает 2-й адрес для "перенаправления" на ваш основной IP-адрес (или если ваша интернет-связь с маршрутизатором является некоторой двухточечной технологией, такой как PPPoE):
Вы можете назначить IP-адрес маршрутизатору и выполнить DNAT для внутреннего адреса сервера.
Если маршрутизатор поддерживает пользовательские статические маршруты, NAT 1: 1 бесполезен - вы можете добавить статический маршрут для 2-го IP-адреса либо к адресу локальной сети сервера, либо к самому интерфейсу локальной сети, а затем назначить этот адрес (как /32) для сервер напрямую.
Если ваш интернет-канал связи от маршрутизатора является стандартным Ethernet (а не PPPoE) и если поставщик услуг Интернета настраивает второй адрес как "on-link":
Вы можете разместить общий коммутатор перед WAN-портом маршрутизатора и подключить к нему сервер. Неуправляемый коммутатор подойдет. В этом случае вам нужно будет использовать собственный брандмауэр сервера, очень внимательно следя за тем, чтобы случайно не выставить, например, iLO/iDRAC в Интернет.
Вы можете назначить IP-адрес маршрутизатору и выполнить DNAT для внутреннего адреса сервера, как описано выше.
Вы можете назначить IP-адрес непосредственно серверу, затем включить прокси-ARP и добавить статический маршрут для этого адреса на маршрутизаторе (как описано выше, за исключением прокси-ARP).
В любом случае, создание белого списка портов может осуществляться через брандмауэр либо на маршрутизаторе, либо на сервере, независимо от NAT или режимов маршрутизации.