我有一台专用服务器(我仅将其用作实验室/测试环境)。该服务器上运行着 CentOS 5.6,它充当 KVM 主机。
为了稍微安全一点,我想执行以下操作使用“iptables”来仅允许来自特定 IP 地址(我自己的地址)的流量。
我的当前iptables
配置如下:
[kvm]# iptables -L -v
Chain INPUT (policy ACCEPT 4927K packets, 6424M bytes)
pkts bytes target prot opt in out source destination
41 2744 ACCEPT udp -- virbr0 any anywhere anywhere udp dpt:domain
0 0 ACCEPT tcp -- virbr0 any anywhere anywhere tcp dpt:domain
66 21810 ACCEPT udp -- virbr0 any anywhere anywhere udp dpt:bootps
0 0 ACCEPT tcp -- virbr0 any anywhere anywhere tcp dpt:bootps
3573K 3515M fail2ban-SSH tcp -- any any anywhere anywhere tcp dpt:ssh
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
470K 700M ACCEPT all -- any virbr0 anywhere 192.168.122.0/24 state RELATED,ESTABLISHED
171K 9558K ACCEPT all -- virbr0 any 192.168.122.0/24 anywhere
0 0 ACCEPT all -- virbr0 virbr0 anywhere anywhere
0 0 REJECT all -- any virbr0 anywhere anywhere reject-with icmp-port-unreachable
0 0 REJECT all -- virbr0 any anywhere anywhere reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT 3115K packets, 5798M bytes)
pkts bytes target prot opt in out source destination
Chain fail2ban-SSH (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- any any somehost1.net anywhere
19 2176 DROP all -- any any somehost2.net anywhere
21 1668 DROP all -- any any somehost3.net anywhere
3573K 3515M RETURN all -- any any anywhere anywhere
iptables
虽然我认为 KVM(virt-manager 或类似的)和 fail2ban对配置做了一些更改,但我自己没有对其进行任何更改。
有人能帮我创建一个iptables
脚本,确保 KVM 仍在工作,但只允许来自特定 IP 地址的流量。其余的都可以丢弃。服务器本身对互联网不应该有任何限制。
更新:按照上面的要求,输出现在是-v
。
答案1
# Set default action to drop anything not explicitly allowed
iptables -P INPUT DROP
# Allow an incoming connection from 192.168.0.1
iptables -I INPUT -s 192.168.0.1 -j ACCEPT
# Allow incoming packets from a self initiated connection to "outside"
itpables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
这应该可行。将 192.168.0.1 替换为您想要访问的 IP 地址。
请注意,所有其他连接都将被断开(如果您通过 SSH 或 telnet 连接,则包括您自己的连接)。
答案2
让虚拟机保持在 NAT 链路上会严重影响其性能,使用桥接网络会更快、更高效。更简单的设置是设置桥接,并配置虚拟机自己的防火墙以丢弃任何不需要的内容