У меня два интерфейса: eth0 (публичный адрес) и lxcbr0 с 10.0.3.1.
У меня гость LXC работает с ip 10.0.3.10
Это моя конфигурация firehol:
version 5
trusted_ips=`/usr/local/bin/strip_comments /etc/firehol/trusted_ips`
trusted_servers=`/usr/local/bin/strip_comments /etc/firehol/trusted_servers`
blacklist full `/usr/local/bin/strip_comments /etc/firehol/blacklist`
interface lxcbr0 virtual
policy return
server "dhcp dns" accept
router virtual2internet inface lxcbr0 outface eth0
masquerade
route all accept
interface any world
protection strong
#Outgoing these protocols are allowed to everywhere
client "smtp pop3 dns ntp mysql icmp" accept
#These (incoming) services are available to everyone
server "http https smtp ftp imap imaps pop3 pop3s passiveftp" accept
#Outgoing, these protocols are only allowed to known servers
client "http https webcache ftp ssh pyzor razor" accept dst "${trusted_servers}"
На моем хосте я могу подключиться только к «доверенным серверам» на порту 80. В моем гостевом компьютере я могу подключиться к порту 80 на каждом хосте. Я предположил, что огнестрельное оружие заблокирует это.
Могу ли я что-то добавить / изменить, чтобы мои гости унаследовали правила интерфейса eth0?
Вы хотите включить net.bridge.bridge-nf-call-iptables
sysctl, который будет запускать мостовые пакеты через iptables перед их передачей. Вам может потребоваться установить отдельные правила, в зависимости от того, как настроен ваш мост, но вы определенно можете фильтровать пакеты через мост с помощью iptables, если вы включите этот sysctl.