Я размещаю игровые сервера и в результате имею несколько 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