只允许来自指定IP地址的stream量使用iptables

我有一个专用的服务器(我只使用实验室/testing环境)。 在服务器上,CentOS 5.6正在运行,并且作为KVM主机运行。

为了保护一些事情,我想做下面的事情,使用'iptables'来只允许来自特定IP地址(我自己的地址)的stream量。

我目前的iptablesconfiguration如下所示:

 [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 

我没有对iptablesconfiguration做任何修改,尽pipe我认为KVM(virt-manager之类)和fail2ban对它进行了一些修改。

有人可以帮我创buildiptables脚本,以确保KVM仍在工作,但只有来自某个IP地址的stream量是允许的。 其余的可以被丢弃。 服务器本身不应该受到互联网的限制。

更新:如上面要求的输出现在使用-v

 # 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 

这应该工作。 用您想要访问的IP地址replace192.168.0.1。
小心,所有其他连接将被丢弃(包括你自己的连接,如果你通过SSH或telnet连接)。

保持虚拟机在NAT-ed链路上将严重影响性能,使用桥接networking要快得多,效率也更高。 更简单的设置就是build立一个网桥,并configuration虚拟机自己的防火墙来删除任何不需要的东西