Я хочу смоделировать сценарий, подобный DMZ, где server1 (внутри DMZ, 10.1.1.0) должен иметь возможность отвечать на любое входящее соединение и не может самостоятельно создавать новое исходящее соединение.
Буду признателен, если кто-нибудь предоставит рабочий пример.
Пример:
Я делаю простой тест. Я получаю доступ к веб-странице, размещенной по адресу 10.1.1.10, с 10.2.2.10. Так что, если бы это правило разрешало все входящие и только связанные / установленные исходящие, я мог бы открыть веб-страницу и сделать все на ней. Но с этим правилом я не могу получить доступ к веб-странице. Если я сделаю nc -v 80 из 10.2.2.10 (server2). Я добиваюсь успеха, а также могу видеть входящие пакеты в tshark
Я пробовал использовать правило iptables, но оно работает не так, как я ожидал
*filter
-A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state NEW -j DROP
-A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
COMMIT
Iptables -L -nv output
iptables -L -nv
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
1375 142K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
8 480 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW reject-with icmp-port-unreachable
1185 1346K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
PS:
Я использую CentOS 6.4.
Достаточно общий ответ (я уверен, что в другом месте на serverfault есть лучшие, если вы ищете): если iptables не работает так, как вы ожидаете, вам следует:
iptables -L -n -v
как вы генерируете трафик