Как запустить Nginx с пользовательской конфигурацией внутри Docker?

Конфигурация Nginx имеет демон выключен; директива установлена ​​в /root/nginx.conf .

Я пытаюсь запустить его под докером, используя эту команду:

sudo docker run --name nginx-redirect -p 3128:3128 -v /root/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx

, но ничего не происходит (кроме вывода Docker контейнера ID; я думаю, это должно означать, что все в порядке), и netstat -tulpn показывает отсутствие контейнера docker / nginx и порта 3128 , где я неправильно?

/ корень / nginx. Я установил сервер Centos 7 и хотел бы добавить несколько административных служб только для пользователей VPN. Это веб-сервер ...

Добрый вечер,

Я хотел бы попросить помощи с небольшой загадкой. Я установил сервер Centos 7 и хотел бы добавить несколько административные услуги только для пользователей VPN.

Это веб-сервер, который публично предоставляет порт 80, 443 и 944. Используя 944, можно подключиться к openvpn, это работает, как и ожидалось.

OpenVPN сообщает, что он назначил соединению IP 10.8.0.6. Теперь у меня есть сервер vsftpd, настроенный на прослушивание 127.0.0.1:21, но мой клиент openvpn не может его найти, я пробовал несколько разных конфигураций, но моих знаний о сети просто недостаточно чтобы решить эту проблему. Может ли кто-нибудь проинструктировать меня, какие журналы, файлы и или другая информация, которая могла бы помочь мне найти решение?

Обратите внимание, я понимаю, что VPN - это другой диапазон адресов и Я могу представить, что локальная маршрутизация меняется всякий раз, когда вы подключаетесь к VPN, я просто не могу понять, как это исправить и подключиться на локальный хост удаленного сервера.

Мы будем благодарны за любые идеи. Заранее спасибо. Для ясности, я следовал этому руководству, чтобы добраться до этого пункта: ссылка

0
задан 1 November 2016 в 23:36
1 ответ

Если ваш VSFTPD-сервер слушает ТОЛЬКО 127.0.0.1 (не все интерфейсы или определенные интерфейсы), то вы не сможете подключиться к нему из вашей системы, подключенной к VPN, вы будете иметь возможность подключиться к нему только с самого сервера ftp (и vpn в данном случае).

У вас есть два варианта:

1 - Настроить туннель переадресации порта SSH от вашего vpn-клиента к ftp-серверу. ssh -L 2121: localhost: 21 пользователь @ имя хоста В этом примере вы затем направите свой FTP-клиент на localhost: 2121, и он будет туннелирован к месту назначения SSH (ваш ftp-сервер) на localhost: 21. Это немного взломано, но сработает.

2a - Измените свой FTP-сервер, чтобы прослушивать больше интерфейсов. Openvpn по умолчанию будет использовать интерфейс tun0, поэтому вы можете настроить его только для прослушивания интерфейса openvpn, однако, поскольку openvpn может удалять / добавлять свой интерфейс в зависимости от своего рабочего состояния, некоторые приложения будут жаловаться, если интерфейс, который вы ему сказали прослушивание недоступно при запуске. Вы должны протестировать этот сценарий, прежде чем полагаться на него.

2b - В качестве альтернативы вы можете просто прослушивать ВСЕ доступные интерфейсы, но вам нужно будет убедиться, что ваше правило iptables будет запрещать любой трафик, специально не разрешенный вами. Вам также понадобится правило, разрешающее трафик из вашей VPN.

Не видя ваших точных правил iptables, похоже, что 2a или 2b выиграют от правил, которые выглядят примерно так:

iptables -I INPUT -m conntrack -i tun0 --ctstate NEW -m tcp -p tcp --match multiport --dports 21,22,80,443 -j ACCEPT -m comment --comment "tun0 VPN traffic"

iptables -A INPUT -j DROP

Некоторые примечания к iptables: I и A - это " insert "и" append "соответственно, поэтому insert будет идти в начале списка, а append - в конце. Мне нравится использовать модули «multiport» и «comment», чтобы мои правила iptables были немного чище, но они не являются обязательными, и вы можете найти другую документацию, показывающую, как использовать немного более ванильную команду iptables.

0
ответ дан 5 December 2019 в 09:23

Теги

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