Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux ElasticSearch使用IP表限制访问_Linux_Security_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Iptables - Fatal编程技术网 elasticsearch,iptables,Linux,Security,elasticsearch,Iptables" /> elasticsearch,iptables,Linux,Security,elasticsearch,Iptables" />

Linux ElasticSearch使用IP表限制访问

Linux ElasticSearch使用IP表限制访问,linux,security,elasticsearch,iptables,Linux,Security,elasticsearch,Iptables,我见过一些像这样的死线 还有这个 这是我第一次在linux机器上托管ElasticSearch服务器。假设我的ES服务器位于http://161.241.117.47:9200我有一个应用服务器,地址是161.241.117.41 问题是我可以对我的ip表做些什么,这样对161.241.117.47:9200的http请求只有在来自161.241.117.41的情况下才能被满足 此外,是否有可能基于以太网地址在iptable中创建规则?所以我可以使用HTTP从Laptop连接 我知道我可以用

我见过一些像这样的死线

还有这个

这是我第一次在linux机器上托管ElasticSearch服务器。假设我的ES服务器位于
http://161.241.117.47:9200
我有一个应用服务器,地址是161.241.117.41

问题是我可以对我的ip表做些什么,这样对161.241.117.47:9200的http请求只有在来自161.241.117.41的情况下才能被满足

此外,是否有可能基于以太网地址在iptable中创建规则?所以我可以使用HTTP从Laptop连接

我知道我可以用下面这样的方法

sudo iptables -A INPUT -p tcp --dport 9200 -j ACCEPT
但这将允许所有传入连接

当我使用下面答案中的建议时,它在一个IP上正常工作,但在两个IP上却不行! 我的iptable当前看起来像这样,无法过滤多个IP

 INPUT ACCEPT [554:135189]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3207:497908]
-A INPUT -s 182.72.29.250/32 -p tcp -m tcp --dport 9200:9400 -j ACCEPT
-A INPUT -s 162.243.225.24/32 -p tcp -m tcp --dport 9200:9400 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9200:9400 -j REJECT --reject-with icmp-port-unreachable
COMMIT

首先,您需要设置可以到达计算机的IP

iptables -I INPUT 1 -p tcp --dport 9200:9400 -s IP_ADRRESS_1,IP_ADRRESS_2,IP_ADRRESS_3 -j ACCEPT
然后,您需要限制除指定ip之外的任何ip都可以到达您的端口

iptables -I INPUT 4 -p tcp --dport 9200:9400 -j REJECT
最后将设置保存到文件中

sudo sh -c "iptables-save > /etc/iptables.rules"
如果希望这些更改在重新启动时保持不变,请执行
sudo vi/etc/network/interfaces
并添加以下
pre-up iptables restore

需要记住的事情很少:

  • 您可以向第一个命令添加更多IP
  • 如果添加额外的IP,则应在第二个命令中设置值(4)。这是规则顺序,因此必须是最新规则。因此,为您添加的每个ip添加1

  • 这是否意味着如果我只有两个IP,那么第二个命令将有2个IP?此外,我们还可以通过以太网地址限制访问?如果您有两个IP,第二个命令将有3个(如果您没有任何其他IP表设置)。关于你的第二个问题,我没有答案:(嘿,9400是什么意思?@HenleyChiu这是规则的顺序。规则1 IP_1,规则2 IP_2,规则3 IP_3和规则4是拒绝剩余的。别忘了在IP列表中添加127.0.0.1