请教iptables对指定端口的IP白名单设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教iptables对指定端口的IP白名单设置相关的知识,希望对你有一定的参考价值。

请教iptables的设置。系统Redhat,对于FTP服务器端口21以及SSH的22端口需要设置IP白名单。

已经有以下设置:
================================
# Generated by iptables-save v1.3.5 on Thu Jan 24 11:20:18 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [14473:7280859]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 23 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Thu Jan 24 11:20:18 2013
================================

请问添加什么规则可以是的21端口 22端口只能允许指定的IP访问?
最好举个例子,设IP白名单中一条IP为192.168.1.144

iptables -I INPUT -s 192.168.1.123(指定ip白名单) -p tcp --dport 21 -j ACCEPT
iptables -I INPUT -s 192.168.1.123(指定ip白名单) -p tcp --dport 22 -j ACCEPT
这样能满足您的要求吗 您可以试一下 希望能够帮助到您追问

目前的21端口是ACCEPT, 您的意思是将原配置中删除21端口ACCEPT那一条然后再加新的?我试过了那样是不行的…谢谢~

参考技术A 厄,尽管我看不懂,但个人认为你找这类论坛发帖更有可能得到答案的。 参考技术B 应该是这样的
iptables -I INPUT -s 192.168.1.123 -p tcp --dport 21:22 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j DROP (第一条命令)

您可以试试,如果不行再帮我说。

Centos防火墙添加IP白名单

Centos iptables防火墙添加IP白名单,指定IP可访问端口

vi /etc/sysconfig/iptables

以下为我虚拟机的防火墙为例(Centos 7)

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-N whitelist
-A whitelist -s xx.xx.xx.xx/32 -j ACCEPT    ##添加IP到白名单

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j whitelist    ##whitelist调用白名单IP列表,22端口只允许白名单IP使用
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT      ##无调用白名单,外网可访问
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT ~

:wq   保存,重启防火墙生效


以上是关于请教iptables对指定端口的IP白名单设置的主要内容,如果未能解决你的问题,请参考以下文章

Centos防火墙添加IP白名单

Linux防火墙iptables限制几个特定ip才能访问服务器?

批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量,大于指定次数的IP

linux 装的是WDCP怎么添加白名单IP段

win2008服务器 防火墙如何加ip地址的白名单

云网络安全组防护