使用 iptables 仅允许来自指定 IP 地址的流量

St.*_*ven 3 ip iptables address kvm-virtualization

我有一个专用服务器(我只使用实验室/测试环境)。在服务器上运行 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
Run Code Online (Sandbox Code Playgroud)

iptables尽管我认为 KVM(virt-manager 等)和 fail2ban 对其进行了一些更改,但我自己没有对配置进行任何更改。

有人可以帮我创建iptables脚本以确保 KVM 仍在工作,但只允许来自特定 IP 地址的流量。其余的都可以放下。从服务器本身到 Internet 不应有任何限制。

更新:根据上面的要求输出现在是-v.

小智 5

# 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
Run Code Online (Sandbox Code Playgroud)

这应该有效。将 192.168.0.1 替换为您想要访问的 IP 地址。
请注意,所有其他连接都将被删除(包括您自己的连接,如果您通过 SSH 或 telnet 连接)。