Назад | Перейти на главную страницу

Предоставление доступа к частному серверу в Интернете

Как открыть доступ к Интернету в одном из моих ящиков частной сети, на котором есть веб-сервер?

Точнее говоря, коробка A имеет два интерфейса: eth0 и tap1. eth0 используется для подключения к интернет-провайдеру, мой IP 77.37.194.101. Коробка B подключена к tap1, в этом поле подсети A есть IP 10.1.1.1 и ящик B 10.1.1.16. Как сделать ящик B доступным из Интернета с помощью 77.37.194.101?

На обеих машинах стоит Ubuntu.

Один из вариантов был бы DNAT через сетевой фильтр на коробке A:

iptables -t nat -A PREROUTING -p tcp -d 77.37.194.101 --dport 80 -j DNAT --to-destination 10.1.1.16.

Это открывает только порт 80.

Интерфейсы Tap являются виртуальными, обычно используются для виртуализации. В этом случае вам следует создать другой интерфейс для подключения к DMZ. Назначьте интерфейс перехода DMZ виртуальному серверу. Не должно быть IP-адреса, назначенного хосту на интерфейсе DMZ, и не должно быть внутренней сети, назначенной какой-либо машине в DMZ. Затем используйте маршрутизацию NAT. Таким образом, если сервер взломан, не будет внутренней сети, соединяющей хост и любые другие машины или виртуальные машины, которые могут быть у вас. (Существует небольшой риск взлома виртуализации, но это намного безопаснее, чем предоставление внешнего доступа к внутренней сети.)

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

Если вы просто выполняете NAT-маршрутизацию во внутренней сети, любой компромисс на вашем веб-сервере предоставит полный доступ ко всей вашей внутренней сети и хост-машине, а также ко всем виртуальным машинам во внутренней сети, если это виртуальная.

Доступ к оболочке и передача файлов должны осуществляться через SSH в виртуальную среду, а не через доступ к файлам с внутренним общим доступом (smb, nfs и т. Д.).