Linux ElasticSearch使用IP表限制访问
我见过一些像这样的死线 还有这个 这是我第一次在linux机器上托管ElasticSearch服务器。假设我的ES服务器位于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连接 我知道我可以用
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,那么第二个命令将有2个IP?此外,我们还可以通过以太网地址限制访问?如果您有两个IP,第二个命令将有3个(如果您没有任何其他IP表设置)。关于你的第二个问题,我没有答案:(嘿,9400是什么意思?@HenleyChiu这是规则的顺序。规则1 IP_1,规则2 IP_2,规则3 IP_3和规则4是拒绝剩余的。别忘了在IP列表中添加127.0.0.1