我有 5 个 IP
1.1.1.1
1.1.1.2
1.1.1.3
1.1.1.4
1.1.1.5
我已经在主 IP 中安装了 openvz 和 openvz webpanel,然后创建了一个 IP 为 1.1.1.2 的 vps
我无法打开 1.1.1.2,但如果我禁用 iptables 防火墙,我就可以打开它
service iptables save
service iptables stop
chkconfig iptables off
所以我需要启用 iptables 防火墙,在 /etc/sysconfig/iptables 中我可以使用什么规则来允许服务器添加其他 ips (1.1.1.2-1.1.1.5)?
我试过这些但还是不正确
-A INPUT -s 1.1.1.2 -j ACCEPT
-A INPUT -s 1.1.1.2 -d 1.1.1.5 -p tcp -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --s 1.1.1.2 -j ACCEPT
-A INPUT -i eth0 -m iprange --src-range 1.1.1.2-1.1.1.5 -j ACCEPT
请帮助大家
如果需要的话,这是 iptables -L -n -v 的输出
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- eth0 * 0.0.0.0/0 0.0.0.0/0 source IP range 1.1.1.2-1.1.1.6
9243 1597K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 92 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
1318 70268 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
1 60 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
197 17722 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
67 3375 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 10660 packets, 1713K bytes)
pkts bytes target prot opt in out source destination
如果需要的话,这是 ip a sh 的输出
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: usb0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 36:40:b5:86:c5:6f brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 34:40:b5:86:c5:6c brd ff:ff:ff:ff:ff:ff
inet 1.1.1.1/29 brd 1.1.1.7 scope global eth0
inet6 fe80::3640:b5ff:fe86:c56c/64 scope link
valid_lft forever preferred_lft forever
4: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 34:40:b5:86:c5:6d brd ff:ff:ff:ff:ff:ff
5: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/void
inet6 fe80::1/128 scope link
valid_lft forever preferred_lft forever
答案1
将评论中进行的调查形式化为答案会很好,所以我会这样做。
其他 IP 地址(显示为 1.1.1.2 至 1.1.1.5,顺便说一下没有遵循混淆公共 IP 地址的最佳实践) 并未分配给容器化主机的 NIC,而是分配给了容器化的客户镜像,但具体如何分配还不太清楚。
这意味着到这些地址的数据包不算作INPUT
流量,因为它们是通过主机路由/桥接的,因此会通过链FORWARD
。
您的链中只有一条规则FORWARD
,并且它会拒绝所有内容,因此ACCEPT
链上的策略毫无用处。当我们FORWARD
通过刷新链 ( iptables -F FORWARD
) 来清除规则时,ACCEPT
策略就会发挥作用,流量就会开始流动。
如果你希望 ed 流量更加安全FORWARD
,你可以尝试类似于你发布的规则,但将它们放在链中FORWARD
,确保正确区分来源和目的地地址,并且不要忘记将链策略更改为其他策略,除非ACCEPT
您让它们正常工作。