Как применить правило брандмауэра к определенному локальному IP-адресу?

Как применить правило брандмауэра к определенному локальному IP-адресу?

Я размещаю игровые сервера и в результате имею несколько IP. На главном IP сервера у меня игровая панель, другие IP зарезервированы для использования игровыми серверами, которые я размещаю для своих клиентов.

В результате я хотел бы, чтобы порты 80 и 443 были открыты.толькона IP-адресе основного сервера. Я искал iptablesкоманду, которая бы это сделала, но ничего не нашел (только результаты, в которых говорится, как разрешить/заблокировать порты для определенных внешних IP-адресов).

Возможно ли это с iptables? Если да, то как?

Операционная система — Ubuntu 14.04LTS.

решение1

Вы также можете блокировать/разрешать на основе IP-адресов. На странице manhttp://linux.die.net/man/8/iptables

-s, --source [!] адрес[/маска] Указание источника. Адресом может быть сетевое имя, имя хоста (обратите внимание, что указание любого имени для разрешения с помощью удаленного запроса, такого как DNS, является очень плохой идеей), сетевой IP-адрес (с /маска) или простой IP-адрес. Маска может быть сетевой маской или простым числом, указывающим количество единиц слева от сетевой маски. Таким образом, маска 24 эквивалентна 255.255.255.0. Аргумент "!" перед указанием адреса меняет смысл адреса. Флаг --src является псевдонимом для этой опции. -d, --destination [!] адрес[/маска] Указание назначения. Подробное описание синтаксиса см. в описании флага -s (источник). Флаг --dst является псевдонимом для этой опции.

Итак, вы можете сделать что-то вроде

sudo iptables -A INPUT -d [serverip]/32 -p tcp --dport 80 -j ACCEPT

разрешит только порт 80 для указанного IP или вы можете заблокировать прослушивание на других IP

Для исходного адреса флагом является-s

Связанный контент