Перенаправлення трафіку з локальної мережі на віртуальну машину - stack overflow російською

Дано: сервер на Debian, на ньому в VirtualBox крутиться Ubuntu Server з nginx і парою сайтів. Сервер попутно є файловим сховищем і інтернет-шлюзом. eth0 - зовнішня мережа; eth1 - внутрішня мережа. Ззовні доступ до сайтів є.

Перенаправлення трафіку з локальної мережі на віртуальну машину - stack overflow російською

Проблема: Є локальна мережа 192.168.2.0 - з неї сайти не доступні з самого сервера теж. Чому таке відбувається, як це виправити? Якісь параметри можуть здатися зайвими - все перепробував від безнадійності. Вирішити введенням в локальну мережу 192.168.2.0 можна, але завдання полягає саме в тому, щоб ізолювати виртуалку від внутрішньої мережі.

Налаштування мережі VM - NAT з проброской портів:

Перенаправлення трафіку з локальної мережі на віртуальну машину - stack overflow російською

Я не бачу у вас жодного форварда портів всередину локальної мережі. Тільки на інші порти самої машини. Та й якщо всередині доступний інтернет і був би форвард портів такий маскарад все одно був би не потрібен. Адже він будь-який запит з інтернету на внутрішні служби переробляє на звернення від імені самого сервера, що як мінімум загрожує тим, що відрізнити клієнтів по ip буде неможливо. І до речі дуже може бути, що саме через це правила у вас щось не працює. приберіть його, якщо проблеми залишаться тоді скажіть які сайти не доступні з локалки і за яким ip, з eth0 або eth1 - Mike 24 Квітня о 11:13

@bormoshka Це дивно, що не запрацювало. А то що відключився інтернет, так, логічно, що не додивився, в правилі треба вказати IP призначення (-d) на який спочатку йде пакет (той в який ні перетворювати bormoshka.ru на внутрішніх машинах). Сподіваюся ви перевіряли ні з сервера, а з машини зсередини. з самого сервера що б працювало засобами iptables швидше за все не вийде. Взагалі я б запропонував на 80 порту хост-машини підняти nginx і налаштувати редирект через нього - Mike 25 Квітня о 6:45

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 10.0.2.15/32 -p tcp --dport 80 -j MASQUERADE або iptables -t nat -A POSTROUTING -d 10.0.2.15 -s 192.168.2.0/ 24 -p tcp --dport 80 -j SNAT --to-source внешній_ip

Розписано дуже спрощено.

Помітив таку особливість - раніше я думав що якщо перейти на bormoshka.ru:50080 з локальної мережі, то це не призводить до успіху. Виявилося, що доступ з цього порту є, просто nginx або wp здійснюють редирект на 80 порт (через telnet з'єднання встановилося). З статичними сайтами такого не відбувається. Мені здається десь плутанина з редирект з 80 на 50080 порт. - bormoshka 25 Квітня о 18:21

Вирішив прислухатися до поради @Mike - поставити на хост nginx і робити проксі-редирект.

service nginx restart

Щоб пустити весь трафік через nginx:

Схожі статті