История изменений
Исправление roman77, (текущая версия) :
Ну разумеется не работает инет в контейнере. Так все закрутил.
Можешь все упростить себе, убрав
iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -j SNAT --to-source 192.168.1.3
и добавив
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Или же сделать все правильно (на мой взгляд)
### /etc/network/interfaces
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
post-up iptables-restore < /etc/iptables.up.rules
Пусть eth0 будет подключен в мост. Как минимум хуже от этого не станет, плюс будет удобнее.
Очистить правила iptables, после сделать
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables-save > /etc/iptables.up.rules
Т.к. eth0 уже будет в мосте, правило iptables для eth0 добавлять не надо. Контейнеры будут получать адрес по dhcp, как и локальная машина.
И не забудь поменять все секцию network в конфиге lxc на
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
Исправление roman77, :
Ну разумеется не работает инет в контейнере. Так все закрутил.
Можешь все упростить себе, убрав
iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -j SNAT --to-source 192.168.1.3
и добавив
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Или же сделать все правильно (на мой взгляд)
### /etc/network/interfaces
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
post-up iptables-restore < /etc/iptables.up.rules
Пусть eth0 будет подключен в мост. Как минимум хуже от этого не станет, плюс будет удобнее.
Очистить правила iptables, после сделать
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables-save > /etc/iptables.up.rules
Т.к. eth0 уже будет в мосте, правило iptables для eth0 добавлять не надо. Контейнеры будут получать адрес по dhcp, как и локальная машина.
И не забудь поменять
lxc.network.link = br0
Исправление roman77, :
Ну разумеется не работает инет в контейнере. Так все закрутил.
Можешь все упростить себе, убрав
iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -j SNAT --to-source 192.168.1.3
и добавив
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Или же сделать все правильно (на мой взгляд)
### /etc/network/interfaces
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
post-up iptables-restore < /etc/iptables.up.rules
Пусть eth0 будет подключен в мост. Как минимум хуже от этого не станет, плюс будет удобнее.
Очистить правила iptables, после сделать
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables-save > /etc/iptables.up.rules
Т.к. eth0 уже будет в мосте, правило iptables для eth0 добавлять не надо. Контейнеры будут получать адрес по dhcp, как и локальная машина.
А это вообще убрать
iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -j SNAT --to-source 192.168.1.3
И поменять
lxc.network.link = br0
Исходная версия roman77, :
Ну разумеется не работает инет в контейнере. Так все закрутил.
Можешь все упростить себе, убрав
iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -j SNAT --to-source 192.168.1.3
добавив
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Или сделать все правильно (на мой взгляд)
### /etc/network/interfaces
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
post-up iptables-restore < /etc/iptables.up.rules
Пусть eth0 будет подключен в мост. Как минимум хуже от этого не станет, плюс будет удобнее.
Очистить правила iptables, после сделать
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables-save > /etc/iptables.up.rules
Т.к. eth0 уже будет в мосте, правило iptables для eth0 добавлять не надо. Контейнеры будут получать адрес по dhcp, как и локальная машина.
А это вообще убрать
iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -j SNAT --to-source 192.168.1.3
И поменять
lxc.network.link = br0