Я нахожусь на машине с красной шляпой 7, и мне нужно открыть все порты для определенного IP-адреса на брандмауэре.
Я пробовал эту команду:
firewall-cmd --permanent --zone=public --add-rich-rule=' rule family="ipv4" source address="64.39.96.0/20" port protocol="tcp" port="*" accept'
Но я получаю ошибку неверного порта для *
Кто-нибудь знает и может подсказать, как это правильно сделать?
Используйте firewalld зона для этого. Зоны можно указывать по интерфейсу или по IP-адресу источника.
Фактически, по умолчанию зона, которая принимает весь трафик, уже существует, и она называется trusted
. Однако по умолчанию в этой зоне ничего нет. Таким образом, вам даже не нужно создавать зону, просто добавьте IP-адрес в trusted
зона.
firewall-cmd --zone=trusted --add-source=64.39.96.0/20
Помимо диапазонов CIDR, вы можете указать отдельные IP-адреса или имена IPSet с префиксом ipset:
.
После этого весь трафик с указанных адресов будет разрешен на любой порт. Запомни сделать это постоянным, либо повторяя команду с --permanent
добавлен, или запустив firewall-cmd --runtime-to-permanent
.
AFAIK порт может быть одним номером порта 123
или диапазон портов 123-456
и *
не является допустимым вводом.
Не указание любого конкретного номера порта / диапазона будет соответствовать любой порт.