免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2689 | 回复: 7
打印 上一主题 下一主题

[网络管理] 在iptables里使用变量的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-01-11 17:27 |只看该作者 |倒序浏览
以下是我们规则,为什么我前面定义了两个变量,在使用过程中,就报错,无法开启定义好的端口。

#!/bin/sh

####定义变量###
TCP_DPORTS="21,22,25,53,80,110,512,1430,1433,1440,1441,1800,1810,4000,8000,8080"
UDP_DPORTS="53,443,8080,1890,5000:20000"
####结束 定义变量###

###开放部分端口
iptables -I FORWARD -p tcp -s 192.168.0.0/16 --sport $TCP_DPORTS -j ACCEPT
iptables -I FORWARD -p udp -s 192.168.0.0/16 --sport $UDP_DPORTS -j ACCEPT
iptables -I FORWARD -p tcp -d 192.168.0.0/16 --dport $TCP_DPORTS -j ACCEPT
iptables -I FORWARD -p udp -d 192.168.0.0/16 --dport $UDP_DPORTS -j ACCEPT
###结束 开放部分端口

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2012-01-11 17:35 |只看该作者
楼主,多个端口需要用到multiport,看帮助只对tcp有效,限制15个端口(,分割的)

论坛徽章:
0
3 [报告]
发表于 2012-01-11 18:05 |只看该作者
/usr/local/sbin/iptables –A INPUT -p tcp -m muluiport --dport 21,22,25,80,110 -j DROP
/usr/local/sbin/iptables –A INPUT -p tcp -m muluiport --source-port 21,22,25,80,110 -j DROP
/usr/local/sbin/iptables –A INPUT -p tcp -m muluiport --destination-port 21,22,25,80,110 -j DROP


类似这样的。

论坛徽章:
0
4 [报告]
发表于 2012-01-11 18:10 |只看该作者
额 09年整理的资料,这里--dport应该等于--destination-port
顺便说一下,iptables默认可能不支持,需要编译内核+iptables。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
5 [报告]
发表于 2012-01-11 18:59 |只看该作者
楼主可以照楼上的命令输入一条,如果没有报错,说明系统支持multiport

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
6 [报告]
发表于 2012-01-11 19:00 |只看该作者
对于udp那个,multiport没有办法,楼主写shell循环,写多条iptables指令来解决吧

论坛徽章:
0
7 [报告]
发表于 2012-01-12 13:36 |只看该作者
本帖最后由 platinum 于 2012-01-12 13:36 编辑

####定义变量###
TCP_DPORTS="21,22,25,53,80,110,512,1430,1433,1440,1441,1800,1810,4000,8000,8080"
UDP_DPORTS="53,443,8080,1890,5000:20000"
####结束 定义变量###

iptables -A FORWARD -p tcp -m multiport --ports $TCP_DPORTS -j ACCEPT
iptables -A FORWARD -p udp -m multiport --ports $UDP_DPORTS -j ACCEPT

从 CentOS 4.x 就支持了

论坛徽章:
0
8 [报告]
发表于 2012-01-13 09:08 |只看该作者
范例 iptables -A INPUT -p tcp 说明 比对通讯协议类型是否相符,可以使用 ! 运算子进行反向比对,例如:-p ! tcp ,意思是指除 tcp 以外的其它类型,包含 udp、icmp ...等。如果要比对所有类型,则可以使用 all 关键词,例如:-p all。 参数 -s, --src, --source 范例 iptables -A INPUT -s 192.168.1.1 说明 用来比对封包的来源 IP,可以比对单机或网络,比对网络时请用数字来表示屏蔽,例如:-s 192.168.0.0/24,比对 IP 时 可以使用 ! 运算子进行反向比对,例如:-s ! 192.168.0.0/24。 参数 -d, --dst, --destination 范例 iptables -A INPUT -d 192.168.1.1 说明 用来比对封包的目的地 IP,设定方式同上。 参数 -i, --in-interface 范例 iptables -A INPUT -i eth0 说明 用来比对封包是从哪片网卡进入,可以使用通配字符 + 来做大范围比对,例如:-i eth+ 表示所有的 ethernet 网卡,也 以使用 ! 运算子进行反向比对,例如:-i ! eth0。 参数 -o, --out-interface 范例 iptables -A FORWARD -o eth0 说明 用来比对封包要从哪片网卡送出,设定方式同上。 参数 --sport, --source-port 范例 iptables -A INPUT -p tcp --sport 22 说明 用来比对封包的来源埠号,可以比对单一埠,或是一个范围,例如:--sport 22:80,表示从 22 到 80 埠之间都算是符合 件,如果要比对不连续的多个埠,则必须使用 --multiport 参数,详见后文。比对埠号时,可以使用 ! 运算子进行反向比对。 参数 --dport, --destination-port 范例 iptables -A INPUT -p tcp --dport 22 说明 用来比对封包的目的地埠号,设定方式同上。 参数 --tcp-flags 范例 iptables -p tcp --tcp-flags SYN,FIN,ACK SYN 说明 比对 TCP 封包的状态旗号,参数分为两个部分,第一个部分列举出想比对的旗号,第二部分则列举前述旗号中哪些有被设,未被列举的旗号必须是空的。TCP 状态旗号包括:SYN(同步)、ACK(应答)、FIN(结束)、RST(重设)、URG(紧急) PSH(强迫推送) 等均可使用于参数中,除此之外还可以使用关键词 ALL 和 NONE 进行比对。比对旗号时,可以使用 ! 运算子 行反向比对。 参数 --syn 范例 iptables -p tcp --syn 说明 用来比对是否为要求联机之 TCP 封包,与 iptables -p tcp --tcp-flags SYN,FIN,ACK SYN 的作用完全相同,如果使用 ! 运算子,可用来比对非要求联机封包。 参数 -m multiport --source-port 范例 iptables -A INPUT -p tcp -m multiport --source-port 22,53,80,110 说明 用来比对不连续的多个来源埠号,一次最多可以比对 15 个埠,可以使用 ! 运算子进行反向比对。 参数 -m multiport --destination-port 范例 iptables -A INPUT -p tcp -m multiport --destination-port 22,53,80,110 说明 用来比对不连续的多个目的地埠号,设定方式同上。 参数 -m multiport --
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP