Назад | Перейти на главную страницу

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 на каждом хосте. Я предположил, что огнестрельное оружие заблокирует это.

Могу ли я что-то добавить / изменить, чтобы мои гости унаследовали правила интерфейса eth0?

Вы хотите включить net.bridge.bridge-nf-call-iptables sysctl, который будет запускать мостовые пакеты через iptables перед их передачей. Вам может потребоваться установить отдельные правила, в зависимости от того, как настроен ваш мост, но вы определенно можете фильтровать пакеты через мост с помощью iptables, если вы включите этот sysctl.