我已经看过像这样的几个死线程
IP Address Restriction in Bonsai ElasticSearch as a Heroku Addon
和这个
https://stackoverflow.com/questions/16121531/tomcat-restrict-ip-access-ip-range-format
这是我第一次将ElasticSearch服务器托管到linux机器上。我们假设我的ES服务器位于http://161.241.117.47:9200
,我的应用服务器位于161.241.117.41
问题是如何处理我的ip表,以便只有来自161.241.117.41的http请求才能满足161.241.117.47:9200
另外,是否有可能根据以太网地址在iptable中创建规则?所以我可以使用HTTP连接我的latptop?
我知道我可以使用类似下面的内容
sudo iptables -A INPUT -p tcp --dport 9200 -j ACCEPT
但是这将允许所有传入的连接。
当我使用以下答案中的建议时,它可以正确使用一个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
答案 0 :(得分:27)
首先,您需要设置可以到达计算机的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 < /etc/iptables.rules
要记住的事情很少: