Я пытаюсь настроить некоторые потоки с ovs-ofctl, чтобы заблокировать все нежелательные входящие пакеты для виртуальной машины. Команды, которые я использую:
ovs-ofctl add-flow xenbr0 "priority=65000, table=0, tcp, dl_src=*, nw_src=*, dl_dst=ba:90:11:a0:05:e4, nw_dst=192.168.0.18, tp_dst=22, tp_src=*, nw_proto=6, hard_timeout=60, actions=normal"
ovs-ofctl add-flow xenbr0 "priority=65000, table=0, tcp, dl_src=*, nw_src=*, dl_dst=ba:90:11:a0:05:e4, nw_dst=192.168.0.18, tp_dst=80, tp_src=*, nw_proto=6, hard_timeout=60, actions=normal"
ovs-ofctl add-flow xenbr0 "priority=64000, table=0, tcp, dl_src=ba:90:11:a0:05:e4, nw_src=192.168.0.18, dl_dst=*,nw_dst=*, tp_dst=*, tp_src=*, nw_proto=6, hard_timeout=60, actions=normal"
ovs-ofctl add-flow xenbr0 "priority=60000, table=0, tcp, dl_src=*, nw_src=*, dl_dst=ba:90:11:a0:05:e4, nw_dst=192.168.0.18, tp_dst=*, nw_proto=6, hard_timeout=60, actions=drop"
Они отлично работают - они разрешают входящие соединения через порты 22 и 80 и отбрасывают остальные. Но есть одна большая проблема: поток / правило отбрасывания также запрещает входящие SYN-ACK. Когда я хочу установить соединение с ВМ на удаленный хост, это не сработает.
Мой справочник по командам: http://openvswitch.org/cgi-bin/ovsman.cgi?page=utilities%2Fovs-ofctl.8
Теперь мне нужно знать, можно ли:
- только отбрасывать SYN (и не SYN-ACK) с ovs-ofctl?
- разрешить СВЯЗАННЫЕ / УСТАНОВЛЕННЫЕ соединения как iptables?
Заранее спасибо.