Firehol (брандмауэр) с мостом: как фильтровать
У меня есть два интерфейса: 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 на каждом хосте. Я предполагал, что firehol заблокирует это.
Есть ли что-то, что я могу добавить / изменить, чтобы мои гости унаследовали правила интерфейса eth0?
1 ответ
Вы хотите включить net.bridge.bridge-nf-call-iptables
sysctl, который будет запускать мостовые пакеты через iptables перед их передачей. Вам может потребоваться настроить отдельные правила, в зависимости от того, как настроен ваш мост, но вы определенно можете фильтровать пакеты через мост, используя iptables, если вы включите этот sysctl.