IPTables - Разрешить перенаправление портов Docker только для определенного IP-адреса

Просто используя awk, печать 1-го столбца ввода, затем 2-го, ...

awk '{ for (i = 1; i <= NF; i++) a[i] = a[i] "\n" $i }
  END  { for (i in a) print substr(a[i], 2) }' Linux.txt

Используя массив a , для каждого столбца i объединяются поля $ i , разделенные новой строкой, в a [i] . В конце ввода a [i] содержит полный столбец i. Наконец, столбцы печатаются по порядку, исключая "\ n", который был вставлен до $ 1`.

3
13.04.2017, 15:36
2 ответа

Мне удалось заставить это работать с этим:

отбросить все соединения (входящие и исходящие), кроме тех, что от ipyouwanttoallow
    iptables -I DOCKER ! -s ipyouwanttoallow -j DROP
принимать все подключения с локального IP-адреса вашего контейнера в мир
    iptables -I DOCKER -s localipofyourcontainer -d 0.0.0.0/0 -j ACCEPT
необходимо, чтобы внешние серверы могли отвечать на запросы вашего контейнера
    iptables -I DOCKER  -m state --state ESTABLISHED,RELATED -j ACCEPT
0
27.01.2020, 21:38

Есть две вероятные проблемы:

  • Вам необходимо включить пересылку на интерфейсах или по умолчанию.
  • Вам нужно будет перенаправить порт с вашего телефона и, возможно, с вашего work_ip.

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

Вы можете использовать туннель или прокси для предоставления доступа.

0
27.01.2020, 21:38

Теги

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