
Пытался очистить настройки брандмауэра на моем сервере RedHat Linux.
После ввода iptables -F
я не могу подключиться к серверу.
# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:diamondport
ACCEPT tcp -- anywhere anywhere tcp dpt:33336
ACCEPT sctp -- anywhere anywhere sctp dpts:1024:65535
ACCEPT udp -- anywhere anywhere udp dpt:gtp-user
ACCEPT udp -- anywhere anywhere udp dpts:6000:lm-x
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# iptables -F
Помогите мне, пожалуйста, решить эту проблему.
решение1
Когда вы запускаете iptables -F, вы удаляете каждое правило в каждой цепочке. Однако каждая цепочка имеетполитикавы не удаляете, что в вашем случае является DROP для цепочки INPUT. Таким образом, вы удаляете все правила и применяете политику DROP для любого трафика, не соответствующего правилу, что означает, что все будет сброшено.
Вы можете убедиться в этом, запустив: iptables -L -n. Вы должны увидеть что-то вроде этого:
Chain INPUT (policy DROP)
target prot opt source destination
[it's empty]
Это нормальное поведение. Вы можете изменить политику по умолчанию, но это приведет к совершенно иному поведению с точки зрения безопасности: трафик будет всегда приниматься, если нет соответствующего правила, что, вероятно, не то, что вам нужно.
Лучше всего избегать сброса и сохранения политик iptables при их изменении, чтобы сделать их постоянными с помощью iptables-save
. Таким образом, вы можете сохранить предыдущую конфигурацию и восстановить ее ( iptables-restore < rules.bak
) или изменить ее по мере необходимости.
решение2
После перезагрузки консоли удалось получить доступ к хост-машине. Спасибо