У меня есть 2 IP-адреса на одном сетевом интерфейсе: 192.168.1.100 и 192.168.1.101. Я хочу иметь доступ к SSH через 192.168.1.100 и HTTP через 192.168.1.101. Я использую Debian 9.8 и firewalld для управления брандмауэром.
Ниже приведены текущие конфигурации зон.
Зона: общедоступная
root@server ~ # firewall-cmd --list-all --zone=public
public (active)
target: default
icmp-block-inversion: no
interfaces:
sources: 192.168.1.100
services: ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Зона: специальная
root@server ~ # firewall-cmd --list-all --zone=special
special(active)
target: default
icmp-block-inversion: no
interfaces:
sources: 192.168.1.101
services: http
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Перезагрузка брандмауэра
root@server ~ # firewall-cmd --reload
По некоторым причинам я могу для доступа к SSH через 92.168.1.100 и 192.168.1.101, и я не могу получить доступ к HTTP ни из 192.168.1.100, ни из 192.168.1.101.
Пожалуйста, помогите.
Я не знаком с форматом опций firewalld
. Но мне кажется, что правила разрешают подключения с IP-адреса сервера 192.168.1.100
к SSH и с IP-адреса сервера 192.168.1.101
к HTTP.
Вам следует используйте адрес назначения
, если вы действительно хотите использовать для этого брандмауэр.
Однако лучший подход здесь - привязать службы к разным портам.
Я хочу иметь доступ к SSH через 192.168.1.100 и HTTP через 192.168.1.101.
Вы также можете просто привязать SSH-сервер к 192.168.1.100, скорее всего через / etc / ssh / sshd_config
файл , установка ListenAddress 192.168.1.100
Вы можете привязать HTTP-сервер только к 192.168.1.101, скорее всего, в файле конфигурации с именем вроде / etc /httpd/conf/httpd.conf
, предполагая HTTP-сервер Apache, где вы можете установить Listen 192.168.1.101:80
вместо Listen 80
.
Это могут иметь некоторые нежелательные побочные эффекты, такие как предотвращение доступа к серверу через localhost
/ 127.0.0.1
через что-то вроде http: // localhost / path / to .. .
.