我想使用 iptables 允许所有流量到特定的 ip。
通过添加行来尝试:
/sbin/iptables -A INPUT -p tcp -s XXX.XXX.XXX.XXX -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s XXX.XXX.XXX.XXX -j ACCEPT
... 但仍然无法访问远程 IP (XXX.XXX.XXX.XXX)。
有什么建议吗?
非常感谢!
编辑:根据您的建议,我更改了 iptables。仍然无法连接到远程服务器。iptables 状态如下:
[root@myserver ~]# /etc/init.d/iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Table: mangle
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
Table: filter
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 reject-with tcp-reset
3 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID
4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
5 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:1024:65535
6 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8443
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3718
8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:88
9 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:88
10 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
11 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:8080
12 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:873
13 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:873
14 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8880
15 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
16 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
17 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
18 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
19 ACCEPT tcp -- XXX.XXX.XXX.XXX 0.0.0.0/0
20 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
21 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:587
22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
23 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:465
24 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:110
25 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:995
26 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:143
27 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:993
28 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:106
29 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
30 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5432
31 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:9008
32 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:9080
33 DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:137
34 DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:138
35 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:139
36 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:445
37 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:1194
38 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
39 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
40 ACCEPT icmp -- 207.250.234.40 0.0.0.0/0 icmp type 8 code 0
41 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8 code 0
42 DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy DROP)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 reject-with tcp-reset
3 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID
4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
5 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8443
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3718
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:88
8 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:88
9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
10 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:8080
11 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:873
12 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:873
13 DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 reject-with tcp-reset
3 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID
4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
5 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:1024:65535
6 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8443
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3718
8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
10 ACCEPT tcp -- 0.0.0.0/0 XXX.XXX.XXX.XXX
11 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:88
12 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:88
13 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
14 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:8080
15 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:873
16 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:873
17 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
[root@myserver ~]#
答案1
我认为您需要将其中一个 -s 标志更改为 -d 标志。如果您的 XXX.XXX.XXX.XXX 地址在防火墙之外,则应该
/sbin/iptables -A INPUT -p tcp -s XXX.XXX.XXX.XXX -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -d XXX.XXX.XXX.XXX -j ACCEPT
否则,相反
答案2
-A
附加。这会将规则添加到规则列表的末尾,因此传入连接可能会被列表中较高级别的规则丢弃。
为了确保所有来自或到 IP 地址的连接都被接受,请更改-A
为-I
将规则插入列表顶部:
iptables -I INPUT -p tcp -s XXX.XXX.XXX.XXX -j ACCEPT
iptables -I OUTPUT -p tcp -d XXX.XXX.XXX.XXX -j ACCEPT`
答案3
-s
表示源。因为OUTPUT
您将希望将其作为目标 ( -d
)。
答案4
您的规则集的其余部分是什么样的? 附加,所以如果您在执行此操作之前在列表末尾-A
有一个-p tcp -s xxx.xxx.xxx.xxx -j REJECT
或(更可能) ,那么它不会有任何好处。-j REJECT