Отображение портов не работает. Я не знаю, то ли это я сделал, то ли что.
Настраивать: Arch Linux с ядром 5.16, Docker 20.10.12
, с использованием nginx-прокси со своим лучшим компаньоном для получения сертификатов для различных приложений в других контейнерах. Все определенно работало хорошо.
И вдруг я начал получать 502
ошибки прокси nginx. Он не мог получить доступ к контейнерным приложениям через указанные мной порты. После расследования я обнаружил, что другие контейнеры просто открывали любые порты на хосте, которые хотели. Хост даже думает, что изначально указанный порт открыт, но это не так. Так, например, одно из моих приложений — это просто nginx, снова обслуживающий веб-сайт. Я сказал Докеру сопоставить порт 8001
на хосте 80
в контейнере. И тогда, когда я использую lsof
чтобы показать, какие порты открыты на хосте, я вижу, что 8001 используется. Но тогда я не могу получить к нему доступ, я могу получить доступ к нему через порт 80 (хотя 80 также используется прокси-сервером nginx). карта
подтверждает, что на контейнере действительно открыт только порт 80.
Недавно я изменил политику по умолчанию в цепочке FORWARD в iptables. Я не понимаю, почему изменение значения по умолчанию имеет значение для пакетов, которые уже куда-то направляются.
Конфигурация:
Конфиг контейнера nginx-proxy:
[
{
«Идентификатор»: «e24130ccef2bce43a11ebe5686e9a0ca45a7b0b13e32c4649095d11fd0361123»,
"Создано": "2022-03-02T16:16:07.626095681Z",
«Путь»: «/app/docker-entrypoint.sh»,
"Аргументы": [
"отказаться",
"Начало",
"-р"
],
"Государственный": {
"Статус": "работает",
"Бег": правда,
«Приостановлено»: ложь,
«Перезапуск»: ложь,
"OOMKilled": ложь,
«Мертвый»: ложь,
"Пид": 2767,
«Код выхода»: 0,
"Ошибка": "",
"StartedAt": "2022-03-02T16:16:08.672491906Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Изображение": "sha256:82ea330a72d6f9d955287dc6e2c4c57a1466d480688574a4d0997c981bc495f3",
"ResolvConfPath": "/var/lib/docker/containers/e24130ccef2bce43a11ebe5686e9a0ca45a7b0b13e32c4649095d11fd0361123/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/e24130ccef2bce43a11ebe5686e9a0ca45a7b0b13e32c4649095d11fd0361123/hostname",
"HostsPath": "/var/lib/docker/containers/e24130ccef2bce43a11ebe5686e9a0ca45a7b0b13e32c4649095d11fd0361123/hosts",
"LogPath": "/var/lib/docker/containers/e24130ccef2bce43a11ebe5686e9a0ca45a7b0b13e32c4649095d11fd0361123/e24130ccef2bce43a11ebe5686e9a0ca45a7b0b13e32c4619093d1619095d1619095d
"Имя": "/nginx-прокси",
"RestartCount": 0,
"Драйвер": "btrfs",
«Платформа»: «линукс»,
"Маунтлейбл": "",
"МеткаПроцесса": "",
"AppArmorProfile": "",
«ExecIDs»: ноль,
"Конфигурация хоста": {
"Связывает": [
"/var/run/docker.sock:/tmp/docker.sock:ro"
],
"ContainerIDFile": "",
"ЛогКонфиг": {
"Тип": "json-файл",
"Конфигурация": {}
},
«NetworkMode»: «ивонет»,
«Привязки портов»: {
"443/TCP": [
{
"HostIp": "",
"ХостПорт": "443"
}
],
"80/TCP": [
{
"HostIp": "",
"ХостПорт": "80"
}
]
},
«Политика перезапуска»: {
"Имя": "всегда",
«Максимальное количество повторов»: 0
},
"Автоудаление": ложь,
"Драйвер Тома": "",
"VolumesFrom": ноль,
"CapAdd": ноль,
"CapDrop": ноль,
"CgroupnsMode": "частный",
"Днс": ноль,
"DnsOptions": ноль,
"DnsSearch": ноль,
«Дополнительные хосты»: ноль,
«Групповое добавление»: ноль,
«IpcMode»: «частный»,
"Группа": "",
"Ссылки": ноль,
"OomScoreAdj": 0,
"PidMode": "",
"Привилегированный": ложь,
"PublishAllPorts": ложь,
"ReadonlyRootfs": ложь,
«SecurityOpt»: ноль,
"UTSMode": "",
"UsernsMode": "",
"ШмСайз": 67108864,
«Время выполнения»: «runc»,
«Размер консоли»: [
0,
0
],
"Изоляция": "",
"Общие ресурсы ЦП": 0,
"Память": 0,
"НаноЦП": 0,
"CgroupParent": "",
"БлкиоВес": 0,
"BlkioWeightDevice": ноль,
«Блкиодевицереадбпс»: ноль,
"BlkioDeviceWriteBps": ноль,
"BlkioDeviceReadIOps": ноль,
"BlkioDeviceWriteIOps": ноль,
"ЦПпериод": 0,
"Квота ЦП": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
«Устройства»: ноль,
"DeviceCgroupRules": ноль,
«DeviceRequests»: ноль,
«Память ядра»: 0,
"KernelMemoryTCP": 0,
«Резервирование памяти»: 0,
"Обмен Памяти": 0,
"MemorySwappiness": ноль,
"OomKillDisable": ноль,
"PidsLimit": ноль,
«Ulimits»: ноль,
"Количество процессоров": 0,
"Процент ЦП": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"Крепления": [
{
"Тип": "объем",
"Источник": "nginx-proxy_conf",
"Цель": "/etc/nginx/conf.d",
"VolumeOptions": {}
},
{
"Тип": "объем",
"Источник": "nginx-proxy_vhost",
"Цель": "/etc/nginx/vhost.d",
"VolumeOptions": {}
},
{
"Тип": "объем",
"Источник": "nginx-proxy_html",
"Цель": "/usr/share/nginx/html",
"VolumeOptions": {}
},
{
"Тип": "объем",
"Источник": "nginx-proxy_certs",
"Цель": "/etc/nginx/certs",
«Только для чтения»: правда,
"VolumeOptions": {}
}
],
"Маскированные пути": [
"/прок/звук",
"/прок/акпи",
"/прок/ккор",
"/прок/ключи",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/прок/скси",
"/sys/прошивка"
],
"Пути только для чтения": [
"/прок/автобус",
"/прок/фс",
"/прок/ирк",
"/прок/систем",
"/proc/sysrq-триггер"
]
},
"Графдрайвер": {
«Данные»: ноль,
"Имя": "btrfs"
},
"Крепления": [
{
"Тип": "объем",
"Имя": "nginx-proxy_html",
"Источник": "/var/lib/docker/volumes/nginx-proxy_html/_data",
«Назначение»: «/usr/share/nginx/html»,
"Водитель": "местный",
«Режим»: «з»,
"RW": правда,
"Распространение": ""
},
{
"Тип": "объем",
"Имя": "nginx-proxy_certs",
"Источник": "/var/lib/docker/volumes/nginx-proxy_certs/_data",
«Назначение»: «/etc/nginx/certs»,
"Водитель": "местный",
«Режим»: «з»,
"RW": ложь,
"Распространение": ""
},
{
"Тип": "связать",
"Источник": "/var/run/docker.sock",
«Назначение»: «/tmp/docker.sock»,
«Режим»: «ро»,
"RW": ложь,
«Распространение»: «rprivate»
},
{
"Тип": "объем",
«Имя»: «nginx-proxy_conf»,
"Источник": "/var/lib/docker/volumes/nginx-proxy_conf/_data",
"Назначение": "/etc/nginx/conf.d",
"Водитель": "местный",
«Режим»: «з»,
"RW": правда,
"Распространение": ""
},
{
"Тип": "объем",
«Имя»: «nginx-proxy_vhost»,
"Источник": "/var/lib/docker/volumes/nginx-proxy_vhost/_data",
"Назначение": "/etc/nginx/vhost.d",
"Водитель": "местный",
«Режим»: «з»,
"RW": правда,
"Распространение": ""
}
],
"Конфигурация": {
"Имя хоста": "nginx-прокси",
"Доменное имя": "",
"Пользователь": "",
"AttachStdin": ложь,
"AttachStdout": правда,
"AttachStderr": правда,
«Открытые порты»: {
"443/TCP": {},
"80/TCP": {}
},
"Tty": ложь,
«ОпенСтдин»: ложь,
«StdinOnce»: ложь,
"окружение": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.21.6",
"ВЕРСИЯ_NJS=0.7.2",
"PKG_RELEASE=1",
"NGINX_PROXY_VERSION=0.10.1-29-gfb8ddfd",
"DOCKER_GEN_VERSION=0.8.2",
"DOCKER_HOST=unix:///tmp/docker.sock"
],
"Команд": [
"отказаться",
"Начало",
"-р"
],
"Image": "nginxproxy/nginx-proxy:alpine",
"Тома": {
"/etc/nginx/certs": {},
"/etc/nginx/conf.d": {},
"/etc/nginx/vhost.d": {},
"/tmp/docker.sock": {},
"/usr/share/nginx/html": {}
},
"РабочийКаталог": "/приложение",
"Точка входа": [
"/приложение/докер-entrypoint.sh"
],
"OnBuild": ноль,
"Ярлыки": {
"com.docker.compose.config-hash": "3324b86760e2e436e707f1310aef7724e088d661c1bbeaaf573104e2644a08b0",
"com.docker.compose.container-номер": "1",
"com.docker.compose.depends_on": "",
"com.docker.compose.image": "sha256:82ea330a72d6f9d955287dc6e2c4c57a1466d480688574a4d0997c981bc495f3",
"com.docker.compose.oneoff": "Ложь",
"com.docker.compose.project": "nginx-прокси",
"com.docker.compose.project.config_files": "/home/winfield/contain/nginx-proxy/docker-compose.yaml",
"com.docker.compose.project.working_dir": "/home/winfield/contain/nginx-proxy",
"com.docker.compose.service": "nginx-прокси",
"com.docker.compose.version": "2.2.3",
"maintainer": "Сопровождающие NGINX Docker <[email protected]>",
"org.opencontainers.image.authors": "Николас Дюшон <[email protected]> (@buchdag), Джейсон Уайлдер",
"org.opencontainers.image.created": "2022-02-28T00:02:10.384Z",
"org.opencontainers.image.description": "Автоматизированный прокси-сервер nginx для контейнеров Docker с использованием docker-gen",
"org.opencontainers.image.licenses": "MIT",
"org.opencontainers.image.revision": "fb8ddfd08c0f6cb53e583ea22ff8be06f69c50dc",
"org.opencontainers.image.source": "https://github.com/nginx-proxy/nginx-proxy",
"org.opencontainers.image.title": "nginx-прокси",
"org.opencontainers.image.url": "https://github.com/nginx-proxy/nginx-proxy",
"org.opencontainers.image.version": "0.10.1-29-gfb8ddfd"
},
«СтопСигнал»: «SIGQUIT»
},
"Сетевые настройки": {
"Мост": "",
"SandboxID": "cb385fa1d3dab87cccd2d89e70708e27e8bc1815867ae5fbc7e1c2f75000dc25",
«Режим шпильки»: ложь,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Порты": {
"443/TCP": [
{
"HostIp": "0.0.0.0",
"ХостПорт": "443"
},
{
"HostIp": "::",
"ХостПорт": "443"
}
],
"80/TCP": [
{
"HostIp": "0.0.0.0",
"ХостПорт": "80"
},
{
"HostIp": "::",
"ХостПорт": "80"
}
]
},
"SandboxKey": "/var/run/docker/netns/cb385fa1d3da",
«Вторичные IP-адреса»: ноль,
"SecondaryIPv6Addresses": ноль,
"Конечная точка": "",
"Шлюз": "",
"Глобальный IPv6-адрес": "",
"GlobalIPv6PrefixLen": 0,
"Айпи адрес": "",
"IPPrefixLen": 0,
"Шлюз IPv6": "",
"MAC-адрес": "",
"Сети": {
"ивонет": {
"IPAMConfig": ноль,
"Ссылки": ноль,
"Псевдонимы": [
"nginx-прокси",
"nginx-прокси",
"e24130ccef2b"
],
"NetworkID": "694e4c767b2eeca4c039e518db8294c2cc32a3be38f5dd0ad8779bce4099929c",
"EndpointID": "e653f85d0381f1c3bdaca9935eff3e4129d7941cf9c246d80e181e477c0bd79b",
«Шлюз»: «172.18.0.1»,
"IP-адрес": "172.18.0.3",
«ИППрефиксЛен»: 24,
"Шлюз IPv6": "",
"Глобальный IPv6-адрес": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:03",
«Драйвероптс»: ноль
}
}
}
}
]
Конфиг проксируемого контейнера nginx:
[
{
«Идентификатор»: «e0b1be5c35ff60f337087f58819be190dcf495796114b6a2054dd78cf0e4679c»,
"Создано": "2022-03-02T16:16:23.658997558Z",
«Путь»: «/docker-entrypoint.sh»,
"Аргументы": [
"нгинкс",
"-г",
"демон выключен";
],
"Государственный": {
"Статус": "работает",
"Бег": правда,
«Приостановлено»: ложь,
«Перезапуск»: ложь,
"OOMKilled": ложь,
«Мертвый»: ложь,
"Пид": 3633,
«Код выхода»: 0,
"Ошибка": "",
"StartedAt": "2022-03-02T16:16:24.099412527Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Изображение": "sha256:bef258acf10dc257d641c47c3a600c92f87be4b4ce4a5e4752b3eade7533dcd9",
"ResolvConfPath": "/var/lib/docker/containers/e0b1be5c35ff60f337087f58819be190dcf495796114b6a2054dd78cf0e4679c/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/e0b1be5c35ff60f337087f58819be190dcf495796114b6a2054dd78cf0e4679c/hostname",
"HostsPath": "/var/lib/docker/containers/e0b1be5c35ff60f337087f58819be190dcf495796114b6a2054dd78cf0e4679c/hosts",
"LogPath": "/var/lib/docker/containers/e0b1be5c35ff60f337087f58819be190dcf495796114b6a2054dd78cf0e4679c/e0b1be5c35ff60f337087f58819be190dcf4957979114b7a2054",jlog-ceddson.
"Имя": "/atsuo.tg",
"RestartCount": 0,
"Драйвер": "btrfs",
«Платформа»: «линукс»,
"Маунтлейбл": "",
"МеткаПроцесса": "",
"AppArmorProfile": "",
«ExecIDs»: ноль,
"Конфигурация хоста": {
"Связывает": [
"/home/winfield/contain/atsuo.tg/site:/usr/share/nginx/html:rw"
],
"ContainerIDFile": "",
"ЛогКонфиг": {
"Тип": "json-файл",
"Конфигурация": {}
},
«NetworkMode»: «ивонет»,
«Привязки портов»: {
"80/TCP": [
{
"HostIp": "",
«ХостПорт»: «8001»
}
]
},
«Политика перезапуска»: {
"Имя": "",
«Максимальное количество повторов»: 0
},
"Автоудаление": ложь,
"Драйвер Тома": "",
"VolumesFrom": ноль,
"CapAdd": ноль,
"CapDrop": ноль,
"CgroupnsMode": "частный",
"Днс": ноль,
"DnsOptions": ноль,
"DnsSearch": ноль,
«Дополнительные хосты»: ноль,
«Групповое добавление»: ноль,
«IpcMode»: «частный»,
"Группа": "",
"Ссылки": ноль,
"OomScoreAdj": 0,
"PidMode": "",
"Привилегированный": ложь,
"PublishAllPorts": ложь,
"ReadonlyRootfs": ложь,
«SecurityOpt»: ноль,
"UTSMode": "",
"UsernsMode": "",
"ШмСайз": 67108864,
«Время выполнения»: «runc»,
«Размер консоли»: [
0,
0
],
"Изоляция": "",
"Общие ресурсы ЦП": 0,
"Память": 0,
"НаноЦП": 0,
"CgroupParent": "",
"БлкиоВес": 0,
"BlkioWeightDevice": ноль,
«Блкиодевицереадбпс»: ноль,
"BlkioDeviceWriteBps": ноль,
"BlkioDeviceReadIOps": ноль,
"BlkioDeviceWriteIOps": ноль,
"ЦПпериод": 0,
"Квота ЦП": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
«Устройства»: ноль,
"DeviceCgroupRules": ноль,
«DeviceRequests»: ноль,
«Память ядра»: 0,
"KernelMemoryTCP": 0,
«Резервирование памяти»: 0,
"Обмен Памяти": 0,
"MemorySwappiness": ноль,
"OomKillDisable": ноль,
"PidsLimit": ноль,
«Ulimits»: ноль,
"Количество процессоров": 0,
"Процент ЦП": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"Маскированные пути": [
"/прок/звук",
"/прок/акпи",
"/прок/ккор",
"/прок/ключи",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/прок/скси",
"/sys/прошивка"
],
"Пути только для чтения": [
"/прок/автобус",
"/прок/фс",
"/прок/ирк",
"/прок/систем",
"/proc/sysrq-триггер"
]
},
"Графдрайвер": {
«Данные»: ноль,
"Имя": "btrfs"
},
"Крепления": [
{
"Тип": "связать",
"Источник": "/home/winfield/contain/atsuo.tg/site",
«Назначение»: «/usr/share/nginx/html»,
"Режим": "RW",
"RW": правда,
«Распространение»: «rprivate»
}
],
"Конфигурация": {
"Имя хоста": "atsuotg",
"Доменное имя": "",
"Пользователь": "",
"AttachStdin": ложь,
"AttachStdout": правда,
"AttachStderr": правда,
«Открытые порты»: {
"80/TCP": {}
},
"Tty": ложь,
«ОпенСтдин»: ложь,
«StdinOnce»: ложь,
"окружение": [
"ВИРТУАЛЬНЫЙ_ПОРТ=8001",
"LETSENCRYPT_HOST=atsuo.tg",
"ВИРТУАЛЬНЫЙ_ХОСТ=atsuo.tg",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.21.6",
"ВЕРСИЯ_NJS=0.7.2",
"PKG_RELEASE=1"
],
"Команд": [
"нгинкс",
"-г",
"демон выключен";
],
«Изображение»: «nginx:alpine»,
"Тома": {
"/usr/share/nginx/html": {}
},
"РабочийКаталог": "",
"Точка входа": [
"/докер-entrypoint.sh"
],
"OnBuild": ноль,
"Ярлыки": {
"com.docker.compose.config-hash": "1f56d3b21bfd2b60df186db7d9ee19865f777207a470f0f36fd37a27cd65acef",
"com.docker.compose.container-номер": "1",
"com.docker.compose.depends_on": "",
"com.docker.compose.oneoff": "Ложь",
"com.docker.compose.project": "atsuotg",
"com.docker.compose.project.config_files": "/home/winfield/contain/atsuo.tg/docker-compose.yaml",
"com.docker.compose.project.working_dir": "/home/winfield/contain/atsuo.tg",
"com.docker.compose.service": "atsuo.tg",
"com.docker.compose.version": "2.2.3",
"maintainer": "Сопровождающие NGINX Docker <[email protected]>"
},
«СтопСигнал»: «SIGQUIT»
},
"Сетевые настройки": {
"Мост": "",
"SandboxID": "9339a100e64c7de59e3c6b9f00761ce9bc90789b8139daed8781c14bc91258e8",
«Режим шпильки»: ложь,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Порты": {
"80/TCP": [
{
"HostIp": "0.0.0.0",
«ХостПорт»: «8001»
},
{
"HostIp": "::",
«ХостПорт»: «8001»
}
]
},
"SandboxKey": "/var/run/docker/netns/9339a100e64c",
«Вторичные IP-адреса»: ноль,
"SecondaryIPv6Addresses": ноль,
"Конечная точка": "",
"Шлюз": "",
"Глобальный IPv6-адрес": "",
"GlobalIPv6PrefixLen": 0,
"Айпи адрес": "",
"IPPrefixLen": 0,
"Шлюз IPv6": "",
"MAC-адрес": "",
"Сети": {
"ивонет": {
"IPAMConfig": ноль,
"Ссылки": ноль,
"Псевдонимы": [
"atsuo.tg",
"atsuo.tg",
"e0b1be5c35ff",
"ацуотг"
],
"NetworkID": "694e4c767b2eeca4c039e518db8294c2cc32a3be38f5dd0ad8779bce4099929c",
"EndpointID": "6ccfdba4120787c39c71505403db08c67f32284637e5bbf2c4abbf0cdb8c15b7",
«Шлюз»: «172.18.0.1»,
"IP-адрес": "172.18.0.4",
«ИППрефиксЛен»: 24,
"Шлюз IPv6": "",
"Глобальный IPv6-адрес": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:04",
«Драйвероптс»: ноль
}
}
}
}
]
Конфигурация пользовательской мостовой сети Docker:
[
{
«Имя»: «ивонет»,
"Идентификатор": "694e4c767b2eeca4c039e518db8294c2cc32a3be38f5dd0ad8779bce4099929c",
"Создано": "2022-03-02T11:15:32.631561185-05:00",
«Область действия»: «местный»,
«Водитель»: «мост»,
«Включить IPv6»: ложь,
"ИПАМ": {
"Драйвер": "по умолчанию",
"Параметры": {},
"Конфигурация": [
{
"Подсеть": "172.18.0.0/24",
«Шлюз»: «172.18.0.1»
}
]
},
"Внутренний": ложь,
"Присоединяемый": ложь,
"Вход": ложь,
«Конфигурация»: {
"Сеть": ""
},
"Только Конфигурация": ложь,
"Контейнеры": {
"adac9051c7813cd9bab6747c798e058983c061b56fbcc9d5cee9d6dacd35461b": {
«Имя»: «nginx-acme»,
"EndpointID": "15ae704194cf33bad77911800541de67f2ee099229014106af65b09d9bf58fa9",
"MacAddress": "02:42:ac:12:00:02",
"IPv4-адрес": "172.18.0.2/24",
"IPv6-адрес": ""
},
"e0b1be5c35ff60f337087f58819be190dcf495796114b6a2054dd78cf0e4679c": {
"Имя": "atsuo.tg",
"EndpointID": "6ccfdba4120787c39c71505403db08c67f32284637e5bbf2c4abbf0cdb8c15b7",
"MacAddress": "02:42:ac:12:00:04",
"IPv4-адрес": "172.18.0.4/24",
"IPv6-адрес": ""
},
"e24130ccef2bce43a11ebe5686e9a0ca45a7b0b13e32c4649095d11fd0361123": {
"Имя": "nginx-прокси",
"EndpointID": "e653f85d0381f1c3bdaca9935eff3e4129d7941cf9c246d80e181e477c0bd79b",
"MacAddress": "02:42:ac:12:00:03",
"IPv4-адрес": "172.18.0.3/24",
"IPv6-адрес": ""
}
},
"Параметры": {
"com.docker.network.bridge.enable_icc": "true"
},
"Ярлыки": {}
}
]
Вывод iptables-сохранить
на хосте:
# Сгенерировано iptables-save v1.8.7 в среду, 2 марта, 15:59:49 2022
*фильтр
:ВВОД ПРИНЯТЬ [0:0]
:ВПЕРЕД КАПИТЬ [0:0]
: ВЫВОД ПРИНЯТЬ [0:0]
:ДОКЕР - [0:0]
:ДОКЕР-ИЗОЛЯЦИЯ-ЭТАП-1 - [0:0]
:ДОКЕР-ИЗОЛЯЦИЯ-ЭТАП-2 - [0:0]
:ДОКЕР-ПОЛЬЗОВАТЕЛЬ - [0:0]
-A FORWARD -j DOCKER-USER
-A ВПЕРЕД -j DOCKER-ИЗОЛЯЦИЯ-ЭТАП-1
-A FORWARD -o br-694e4c767b2e -m conntrack --ctstate СВЯЗАННО, УСТАНОВЛЕНО -j ПРИНЯТЬ
-A ВПЕРЕД -o br-694e4c767b2e -j ДОКЕР
-A ВПЕРЕД -i br-694e4c767b2e ! -o br-694e4c767b2e -j ПРИНЯТЬ
-A ВПЕРЕД -i br-694e4c767b2e -o br-694e4c767b2e -j ПРИНЯТЬ
-A FORWARD -o docker0 -m conntrack --ctstate СВЯЗАННО, УСТАНОВЛЕНО -j ПРИНЯТЬ
-A ВПЕРЕД -o docker0 -j DOCKER
-A ВПЕРЕД -i docker0 ! -o docker0 -j ПРИНЯТЬ
-A ВПЕРЕД -i docker0 -o docker0 -j ПРИНЯТЬ
-A ДОКЕР -d 172.18.0.3/32 ! -i br-694e4c767b2e -o br-694e4c767b2e -p tcp -m tcp --dport 443 -j ПРИНЯТЬ
-A ДОКЕР -d 172.18.0.3/32 ! -i br-694e4c767b2e -o br-694e4c767b2e -p tcp -m tcp --dport 80 -j ПРИНЯТЬ
-A ДОКЕР -d 172.18.0.4/32 ! -i br-694e4c767b2e -o br-694e4c767b2e -p tcp -m tcp --dport 80 -j ПРИНЯТЬ
-A DOCKER-ISOLATION-STAGE-1 -i br-694e4c767b2e ! -o br-694e4c767b2e -j DOCKER-ИЗОЛЯЦИЯ-ЭТАП-2
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j ВОЗВРАТ
-A DOCKER-ISOLATION-STAGE-2 -o br-694e4c767b2e -j DROP
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j ВОЗВРАТ
-A DOCKER-USER -j ВОЗВРАТ
СОВЕРШИТЬ
# Завершено в среду, 2 марта, 15:59:49 2022 г.
# Сгенерировано iptables-save v1.8.7 в среду, 2 марта, 15:59:49 2022
*натуральный
: ПРЕДВАРИТЕЛЬНОЕ ПРИНЯТИЕ [0:0]
:ВВОД ПРИНЯТЬ [0:0]
: ВЫВОД ПРИНЯТЬ [0:0]
:ОТПРАВКА ПРИНЯТИЯ [0:0]
:ДОКЕР - [0:0]
-A PREROUTING -m тип_адреса --dst-type МЕСТНЫЙ -j DOCKER
- ВЫХОД! -d 127.0.0.0/8 -m тип_адреса --dst-тип ЛОКАЛЬНЫЙ -j DOCKER
-A POSTOUTING -s 172.18.0.0/24 ! -o br-694e4c767b2e -j МАСКАРАД
-A POSTOUTING -s 172.17.0.0/16 ! -o docker0 -j МАСКАРАД
-A POSTROUTING -s 172.18.0.3/32 -d 172.18.0.3/32 -p tcp -m tcp --dport 443 -j MASQUERADE
-A POSTROUTING -s 172.18.0.3/32 -d 172.18.0.3/32 -p tcp -m tcp --dport 80 -j MASQUERADE
-A POSTROUTING -s 172.18.0.4/32 -d 172.18.0.4/32 -p tcp -m tcp --dport 80 -j MASQUERADE
-A ДОКЕР -i br-694e4c767b2e -j ВОЗВРАТ
-A ДОКЕР -i docker0 -j ВОЗВРАТ
- ДОКЕР! -i br-694e4c767b2e -p tcp -m tcp --dport 443 -j DNAT --назначение 172.18.0.3:443
- ДОКЕР! -i br-694e4c767b2e -p tcp -m tcp --dport 80 -j DNAT --назначение 172.18.0.3:80
- ДОКЕР! -i br-694e4c767b2e -p tcp -m tcp --dport 8001 -j DNAT --назначение 172.18.0.4:80
СОВЕРШИТЬ
# Завершено в среду, 2 марта, 15:59:49 2022 г.
Вывод lsof -i -P -n | grep СЛУШАТЬ
на хосте:
systemd-r 911 systemd-resolve 12u IPv4 22667 0t0 TCP *: 5355 (СЛУШАТЬ)
systemd-r 911 systemd-resolve 14u IPv6 22670 0t0 TCP *: 5355 (СЛУШАТЬ)
systemd-r 911 systemd-resolve 18u IPv4 22673 0t0 TCP 127.0.0.53:53 (СЛУШАТЬ)
systemd-r 911 systemd-resolve 20u IPv4 22675 0t0 TCP 127.0.0.54:53 (СЛУШАТЬ)
sshd 914 root 3u IPv4 46226 0t0 TCP *:26506 (СЛУШАТЬ)
sshd 914 root 4u IPv6 46228 0t0 TCP *:26506 (СЛУШАТЬ)
mariadbd 964 mysql 19u IPv4 57354 0t0 TCP *:3306 (СЛУШАТЬ)
mariadbd 964 mysql 21u IPv6 57355 0t0 TCP *:3306 (СЛУШАТЬ)
docker-pr 2674 root 4u IPv4 53545 0t0 TCP *:443 (СЛУШАТЬ)
docker-pr 2681 root 4u IPv6 62592 0t0 TCP *:443 (СЛУШАТЬ)
docker-pr 2694 root 4u IPv4 51280 0t0 TCP *:80 (СЛУШАТЬ)
docker-pr 2700 root 4u IPv6 53552 0t0 TCP *:80 (СЛУШАТЬ)
docker-pr 3591 root 4u IPv4 50347 0t0 TCP *:8001 (СЛУШАТЬ)
docker-pr 3597 root 4u IPv6 46444 0t0 TCP *:8001 (СЛУШАТЬ)