我花了一整天的时间来查找这个,但没有运气。
因此,我拥有该 IP 范围xxx.xxx.xxx.xxx/27
,并且我想22
在 IP 上打开端口,但在所有其他端口上xxx.xxx.xxx.66
关闭端口,然后在 IP 上打开端口// ,最后在 ports 上打开端口。22
80
443
4567
xxx.xxx.xxx.90
25565
xxx.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
您可以查看这里