
Nikolay
18.02.2018
19:09:32
будем выпытывать все, что можно

rus
18.02.2018
19:11:23

Nazar
18.02.2018
19:54:39
Алоха, а есть тут те, кто хорошо в lxc/lxd?

Google

Nazar
18.02.2018
19:56:48
Подняты два контейнера, у каждого контейнера есть интрефейс(bridg)
config:
dns.mode: dynamic
ipv4.address: 10.0.0.1/24
ipv4.dhcp.ranges: 10.0.0.100-10.0.0.200
ipv4.nat: "true"
ipv6.address: none
description: ""
name: lxdbr0
type: bridge
used_by:
- /1.0/containers/develop
- /1.0/containers/stage
managed: true
Проблема следующая: не получается прокинуть порт с интрефейса с внешним айпи, на порт контейнера
iptables -t nat -A PREROUTING -p tcp --dport 3307 -j DNAT --to-destination 10.0.0.164:3306

Nikolay
18.02.2018
19:58:50
потому что в докере нельзя, про lxc я не уверен

Robert
18.02.2018
19:59:16
Можно

Nazar
18.02.2018
19:59:17
root@157701-20002:~# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:3307 to:10.0.0.164:3306
DNAT tcp -- anywhere anywhere tcp dpt:3307 to:10.0.0.164:3306
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.0.0.0/24 !10.0.0.0/24 /* generated for LXD network lxdbr0 */
MASQUERADE all -- 10.0.3.0/24 !10.0.3.0/24

Robert
18.02.2018
20:00:04
А с чего ты взял что он не прокинулся?

Nazar
18.02.2018
20:00:35
достучатся не могу

Robert
18.02.2018
20:00:48
С третьей машины?
Или с гипервизора?

Nazar
18.02.2018
20:00:57
из вне

Google

Alexander
18.02.2018
20:01:18
А правило MASQUERADE есть?

Robert
18.02.2018
20:01:29
Есть же

Nazar
18.02.2018
20:01:33

Robert
18.02.2018
20:01:56
Покажи вывод таблицы filter

Alexander
18.02.2018
20:02:49
Т.е. все стандартные вещи сделаны, убрано правило запрещающее форвардинг и включен forwarding в sysctl?

Nazar
18.02.2018
20:04:25

Robert
18.02.2018
20:05:49
Зачем в forward reject all?
Попробуй убери
Хотя перед ним accept all на tcp

Nazar
18.02.2018
20:06:34

Robert
18.02.2018
20:07:32
Ip контейнера верный?

Nazar
18.02.2018
20:07:39
да

Robert
18.02.2018
20:07:40
Там порт 3306 есть?

Alexander
18.02.2018
20:08:06
Да у тебя правило на reject есть.

Nazar
18.02.2018
20:08:13
root@157701-20002:~# lxc list
+------------+---------+-------------------+------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------------+---------+-------------------+------+------------+-----------+
| develop | RUNNING | 10.0.0.164 (eth0) | | PERSISTENT | 0 |
+------------+---------+-------------------+------+------------+-----------+
| stage | RUNNING | 10.0.0.163 (eth0) | | PERSISTENT | 0 |
+------------+---------+-------------------+------+------------+-----------+

Alexander
18.02.2018
20:08:21
iptables-save покажи.

Nazar
18.02.2018
20:09:36

Alexander
18.02.2018
20:11:29
-A POSTROUTING -s 10.0.0.0/24 ! -d 10.0.0.0/24 -m comment --comment "generated for LXD network lxdbr0" -j MASQUERADE
-A POSTROUTING -s 10.0.3.0/24 ! -d 10.0.3.0/24 -j MASQUERADE
А это тебе зачем?

Nazar
18.02.2018
20:12:01
lxd их сам генерит

Google

Robert
18.02.2018
20:12:48
Мне кажется с iptables всё норм

Alexander
18.02.2018
20:12:50
Вот оно что, попробуй добавить правило -A POSTROUTING -p tcp -m tcp --dport 3307 -j MASQUERADE

Robert
18.02.2018
20:13:31
Зачем в postrouting dport?
Там source ip должен быть

Nazar
18.02.2018
20:14:25
iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 3306 -j MASQUERADE
вот так!

Robert
18.02.2018
20:14:37
Надоже

Alexander
18.02.2018
20:14:53
Я вечно путаюсь что туда писать надо.
Если помогло, то отлично.

Nazar
18.02.2018
20:15:26
всю голову сломал(

Robert
18.02.2018
20:15:28
Но у тебя же было правило маскарадинга по сорсу

Nazar
18.02.2018
20:15:32
Благодарю ребята!

Robert
18.02.2018
20:16:10
Но ведь оно было

Alexander
18.02.2018
20:16:23
Не туда было, видать. :)

Robert
18.02.2018
20:17:18
Аа, там походу с dst ip было
На ту же сеть

Nazar
18.02.2018
20:17:46
у меня уже эти правила сливаются в глазах)

Robert
18.02.2018
20:18:02

Google

Robert
18.02.2018
20:18:16
В самом низу
Покажи сейчас -t nat

Nazar
18.02.2018
20:18:29
так это то, что нагенерил lxd
root@157701-20002:~# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:3307 to:10.0.0.164:3306
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.0.0.0/24 !10.0.0.0/24 /* generated for LXD network lxdbr0 */
MASQUERADE all -- 10.0.3.0/24 !10.0.3.0/24
MASQUERADE tcp -- anywhere anywhere tcp dpt:3307

Robert
18.02.2018
20:19:04
Ну да, стоит и src и dst

Taz
18.02.2018
20:24:37

Nikolay
18.02.2018
20:25:22
почему это нельзя?
потому что после того, как ты запустил контейнер с docker run, новых портов ты в него не прокинешь. Или у меня устарелая информация?

Robert
18.02.2018
20:27:06
Не прокинешь средстави докера, т.е. если не сделал -р во время run

Nikolay
18.02.2018
20:27:17
да
а что, извне таки можно?

Robert
18.02.2018
20:27:25
А фаерволом когда угодно можно сделать

Taz
18.02.2018
20:27:33

Nikolay
18.02.2018
20:27:37
прикольно, не знал

Taz
18.02.2018
20:27:46
а как у тебя с линуксом ваще?
докер это чрут на стероидах, как и все контейнеры

Nikolay
18.02.2018
20:28:16
нормально, мог бы и сам допереть, на самом деле
просто думал, там какие-то ограничения хитрые стоят

Taz
18.02.2018
20:28:48
даже если мы создадим еще ифейс со своим ипом каким-то - все равно внутри контейнера процесс будет биндится к порту и слушать

Robert
18.02.2018
20:28:54
Чет вы меня оба запутали

Nikolay
18.02.2018
20:29:16

Google

Taz
18.02.2018
20:29:22

Nikolay
18.02.2018
20:31:06
мол, сраный чрут с сигруппами, чего там такого, что все кипятком ссут

Taz
18.02.2018
20:31:40

Nikolay
18.02.2018
20:31:55
в остальном я по-прежнему против того, чтобы в продакшен деплоить в контейнерах что-то, смотрящее в большой интернет
но всем похер и все все равно это делают

Taz
18.02.2018
20:33:32

Robert
18.02.2018
20:36:01

Nikolay
18.02.2018
20:36:41
логично
у нас кубернетес сейчас в основе всего

Dmitry
18.02.2018
20:41:41