linux iptables的问题 ,要指定只允许一段IP TCP访问,是先拒绝所有,再允许这一段IP吗,那规则该怎么写

求解~~~~~

这个比较复杂,挺基础的,建议买本书或找个网站补一下
首先要了解iptables工作原理(规则是按上到下的顺序匹配的)和添加规则的方式,-A 参数为append(个人理解,错误望指证)追加,而 -I 参数为 insert(也是个人理解,学习方式不同)插入。我举个例子你可能就会懂了,假设现在的防火墙中有这一条规则(我不太记的具体显示了,示例一下吧)
-A INPUT -p tcp --dport 80 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

这时如果使用 -A INPUT加入一个 DROP或REJECT规则,则此规则会加在INPUT里的末尾,照匹配顺序的话,第一条80的INPUT是不会受影响的,如果使用 -I 插入的话则出现在80规则之后,规则号为1,80的规则号为2,这时DROP优先生效,不会再向下匹配。所以一般来说,DROP都加在最后。
你可以参考我下面的操作在虚拟机上试一下就明白了:
1.先插入几个规则
iptables -A INPUT -p tcp --dport 81 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 82 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 83 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
2.使用 iptables -vnL --line(显示规则号)
3.分别使用 iptables -A 和 iptables -I 命令往里面添加规则,添加规则时可以指定规则号,写法如下
iptables -A INPUT 2(这个表示在第2个规则后插入,同理 -I 为在规则前插入) -p tcp --dport 22 -j ACCPET
最后再用 iptables -vnL --line观察一下就很容易明白了
我没什么文化,不知道这样解释你清不清楚,如果不清楚的话请追问。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-07
第一条规则:设置默认策略为丢包,如果是禁止防火墙本身的服务访问,将FORWARD改为 INPUT。
iptables -P FORWARD DROP

第二条规则:设置你想允许的tcp服务通过,第一条是让web服务通过,第二条是让web服务的方向 报文通过,第三条是让ssh服务通过,第四条是让反向的ssh服务通过。
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --sport 80 -j ACCEPT

iptables -A FORWARD -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp --sport 22 -j ACCEPT
第2个回答  2012-11-06
应该是先接受,然后拒绝另外的所有吧,举个例子:
-A INPUT -m state --state NEW -s 192.168.1.0/24 -j ACCEPT
-A INPUT -j REJECT
ps:你再查查,这一块我不是很熟悉本回答被提问者采纳
第3个回答  2012-11-07
先默认DROP掉 然后再开逐条符合你条件的ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -p tcp -s 192.168.0.1/24 -j ACCEPT
Iptables -A OUTPUT -p tcp -d 192.168.0.1/24 -j ACCEPT

linux iptables的问题 ,要指定只允许一段IP TCP访问,是先拒绝所有,再允...
2.使用 iptables -vnL --line(显示规则号)3.分别使用 iptables -A 和 iptables -I 命令往里面添加规则,添加规则时可以指定规则号,写法如下 iptables -A INPUT 2(这个表示在第2个规则后插入,同理 -I 为在规则前插入) -p tcp --dport 22 -j ACCPET 最后再用 iptables -vnL --line观察...

linux防火墙iptable如何设置只允许某个ip访问80端口,只允许特定ip访问某...
2、\/etc\/init.d\/iptables restart 3、iptables -nvL检查 4、-s 192.168.1.2即只允许192.168.1.2访问

Linux服务器中怎么设置一个端口只能一个IP访问。需要建策略规则么?_百 ...
1.先备份iptables cp \/etc\/sysconfig\/iptables \/var\/tmp 需要开80端口,指定IP和局域网 下面三行的意思:先关闭所有的80端口 开启ip段192.168.1.0\/24端的80口 开启ip段211.123.16.123\/24端ip段的80口 iptables -I INPUT -p tcp --dport 80 -j DROP iptables -I INPUT -s 192.168.1....

Linux防火墙iptables限制几个特定ip才能访问服务器。
iptables -A INPUT -s 1.2.3.0\/24 -p tcp --dport -j ACCEPT 总之不管是阻止所有的服务还是只阻止指定的服务 我们可以先将默认的规则设置为所有ip都不可访问 然后再手动添加ip地址到白名单

用iptables来配置linux,禁止所有端口登陆和开放指定端口的方法
使用命令`iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP`禁止特定IP(如192.168.1.2)访问Linux服务器。验证设置是否生效,确认特定IP无法访问。删除规则:通过`iptables -L -n --line-number`显示规则及其编号,使用`iptables -D INPUT 2`删除特定编号的规则。使用`iptables -L -n`...

在linux上的iptables防火墙上怎么设置信任MAC地址访问端口
端口操作相关示例:6.1 添加端口(1) 允许源地址为x.x.x.x\/x的主机通过22(ssh)端口.iptables -A INPUT -p tcp -s x.x.x.x\/x --dport 22 -j ACCEPT(2)允许80(http)端口的数据包进入iptables -A INPUT -p tcp --dport 80 -j ACCEPT(3)允许110(pop3)端口的数据包进入,如果...

Linux下如何用iptables限制某段IP访问服务器
比如禁止192.168.0.x网段访问服务器iptables -A input -p tcp -s 192.168.0.0\/24 -j DROP如果是允许访问iptables -A input -p tcp -s 192.168.0.0\/24 -j ACCEPT如果是禁止访问服务器某一端口号iptables -A input -p tcp -s 192.168.0.0\/24 --dport (端口号) -DROP 差不多就...

LINUX iptables限制IP访问
默认开启了ping返回,用于检测服务器的状态,还有22端口,这个如果你是远程连接的千万别忘记开启,否则你就把自己关在门外了(设置了自己IP允许的情况下除外)。!\/bin\/bashIPTABLES=\/sbin\/iptablesmodprobe ip_conntrackmodprobe ip_conntrack_ftpmodprobe ip_nat_ftp$IPTABLES -F -t filter$IPTABLES -F ...

通过Iptables限制端口访问和允许指定IP访问
使用 iptables 命令插入规则,例如 iptables -A INPUT -p tcp --dport 8443 -s 0\/0 -j DROP 这命令表示对8443端口的所有TCP连接进行拒绝。接着,针对特定的IP地址解除对指定端口的限制 使用 iptables -A INPUT -p tcp --dport 8443 -s 特定IP -j ACCEPT 这样,特定IP可以访问8443端口。最后...

iptables 还能对特定程序或用户进行限制么
linux下要使用iptables限制只有指定的ip才能访问本机则需要先设置一个默认的规则 iptables有默认的规则,它可以适用于所有的访问 因为只有指定或特定的ip地址才能访问本机 所以可以将默认的规则设置为所有访问全部阻止(当然这里需要注意下,如果你要设置的机器是在远端,比如vps则需要注意在设置默认...

相似回答