在一个IP上打开端口

在一个IP上打开端口

我花了一整天的时间来查找这个,但没有运气。

因此,我拥有该 IP 范围xxx.xxx.xxx.xxx/27,并且我想22在 IP 上打开端口,但在所有其他端口上xxx.xxx.xxx.66关闭端口,然后在 IP 上打开端口// ,最后在 ports 上打开端口。22804434567xxx.xxx.xxx.9025565xxx.xxx.xxx.(70|80)

这是我到目前为止所尝试过的:

# Generated by iptables-save v1.4.7 on Mon Sep 14 07:23:06 2015
*filter
:INPUT ACCEPT [4:240]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [31:3004]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 

# Allow HTTP/HTTPS connections from anywhere (normal ports for websites and SSL)
-A INPUT -s xxx.xxx.xxx.90 -p tcp --dport 80 -j ACCEPT
-A OUTPUT -d xxx.xxx.xxx.90 -p tcp --dport 80 -j ACCEPT
-A INPUT -s xxx.xxx.xxx.90 -p tcp --dport 443 -j ACCEPT
-A OUTPUT -d xxx.xxx.xxx.90 -p tcp --dport 443 -j ACCEPT

# Lets allow some TS3 server ports, they'll be running on xxx.xxx.xxx.89
-A INPUT -p tcp --dport 10011 -j ACCEPT
-A OUTPUT -p tcp --dport 10011 -j ACCEPT
-A INPUT -p tcp --dport 30033 -j ACCEPT 
-A OUTPUT -p tcp --dport 30033 -j ACCEPT 
-A INPUT -p udp --dport 9987 -j ACCEPT 
-A OUTPUT -p udp --dport 9987 -j ACCEPT 

# Lets allow NodeBB to use this machine..
# Well run it on 45.35.58.66 as no one **should** be finding out this IP.
-A INPUT -s xxx.xxx.xxx.66 -p tcp --dport 4567 -j ACCEPT 
-A OUTPUT -d xxx.xxx.xxx.66 -p tcp --dport 4567 -j ACCEPT 

# We're going to block icmp on all other IPs, but all it on our main IP.
-A INPUT -s 45.35.58.66 -p icmp -j ACCEPT 
-A INPUT -p icmp -j REJECT 

# Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT

感谢所有帮助。

答案1

iptables

您可以使用iptables以下语法

iptables -A INPUT -s [source IP] -p [protocol] --dport [destination port] -j [ACTION]

你需要接受来自特定IP的连接,然后降低它适用于所有流量。

例如

$ sudo iptables -A INPUT -s XXX.XXXX.XXX.66 -p tcp --dport 22 -j ACCEPT
$ sudo iptables -A INPUT -p tcp --dport 22 -j DROP

要熟悉一下,iptables您可以查看这里

相关内容