当前位置: 首页 > news >正文

嘉兴ai人工智能开发网站建设教育培训机构招生方案

嘉兴ai人工智能开发网站建设,教育培训机构招生方案,个人音乐网站模板,河南新闻今日头条iptables是一个非常强大的Linux防火墙工具,你可以使用它来控制网络流量的访问和转发。 前面已经学习了iptables的基本原理,四表五链的基本概念,也已经安装好了iptables,下面我们主要学习iptables命令的基本使用。 可以使用iptable…

iptables是一个非常强大的Linux防火墙工具,你可以使用它来控制网络流量的访问和转发。

前面已经学习了iptables的基本原理,四表五链的基本概念,也已经安装好了iptables,下面我们主要学习iptables命令的基本使用。

在这里插入图片描述

可以使用iptables -h来查看帮助:

$ iptables -h
iptables v1.6.1Usage: iptables -[ACD] chain rule-specification [options]iptables -I chain [rulenum] rule-specification [options]iptables -R chain rulenum rule-specification [options]iptables -D chain rulenum [options]iptables -[LS] [chain [rulenum]] [options]iptables -[FZ] [chain] [options]iptables -[NX] chainiptables -E old-chain-name new-chain-nameiptables -P chain target [options]iptables -h (print this help information)Commands:
Either long or short options are allowed.--append  -A chain            Append to chain--check   -C chain            Check for the existence of a rule--delete  -D chain            Delete matching rule from chain--delete  -D chain rulenumDelete rule rulenum (1 = first) from chain--insert  -I chain [rulenum]Insert in chain as rulenum (default 1=first)--replace -R chain rulenumReplace rule rulenum (1 = first) in chain--list    -L [chain [rulenum]]List the rules in a chain or all chains--list-rules -S [chain [rulenum]]Print the rules in a chain or all chains--flush   -F [chain]          Delete all rules in  chain or all chains--zero    -Z [chain [rulenum]]Zero counters in chain or all chains--new     -N chain            Create a new user-defined chain--delete-chain-X [chain]          Delete a user-defined chain--policy  -P chain targetChange policy on chain to target--rename-chain-E old-chain new-chainChange chain name, (moving any references)
Options:--ipv4      -4              Nothing (line is ignored by ip6tables-restore)--ipv6      -6              Error (line is ignored by iptables-restore)
[!] --protocol  -p proto        protocol: by number or name, eg. `tcp'
[!] --source    -s address[/mask][...]source specification
[!] --destination -d address[/mask][...]destination specification
[!] --in-interface -i input name[+]network interface name ([+] for wildcard)--jump -j targettarget for rule (may load target extension)--goto      -g chainjump to chain with no return--match       -m matchextended match (may load extension)--numeric     -n              numeric output of addresses and ports
[!] --out-interface -o output name[+]network interface name ([+] for wildcard)--table       -t table        table to manipulate (default: `filter')--verbose     -v              verbose mode--wait        -w [seconds]    maximum wait to acquire xtables lock before give up--wait-interval -W [usecs]    wait time to try to acquire xtables lockdefault is 1 second--line-numbers                print line numbers when listing--exact       -x              expand numbers (display exact values)
[!] --fragment  -f              match second or further fragments only--modprobe=<command>          try to insert modules using this command--set-counters PKTS BYTES     set the counter during insert/append
[!] --version   -V              print package version.

iptables的命令语法通常如下:

iptables [-t 表名] 管理选项 [链名] [匹配条件] [-j 动作]iptables -t 表名 <-A/I/D/R> 链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端 <-d 目标IP/目标子网> --dport 目标端口 -j 动作

这里的各个部分解释如下:

  • -t 表名:这是可选的,用于指定你要操作的表。如果没有指定,默认是“filter”表。其他可用的表包括“nat”,“mangle”和“raw”。
  • 管理选项:这是你要执行的操作,比如添加(-A)或删除(-D)一条规则,插入一条规则(-I),替换一条规则(-R),清空链(-F)等。
  • 匹配条件:这是可选的,用于指定匹配条件。比如,你可以匹配源或目标IP地址,源或目标端口,输入或输出接口等。
  • -j 动作:这是规则的动作,当匹配条件满足时,执行的操作。比如,你可以接受(ACCEPT)数据包,拒绝(DROP)数据包,记录(LOG)数据包,或者跳转到另一个链(JUMP)。

规则的管理

规则的查询

查看当前防火墙规则:

$ sudo iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)pkts bytes target     prot opt in     out     source               destinationChain INPUT (policy ACCEPT 0 packets, 0 bytes)pkts bytes target     prot opt in     out     source               destinationChain OUTPUT (policy ACCEPT 0 packets, 0 bytes)pkts bytes target     prot opt in     out     source               destinationChain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)pkts bytes target     prot opt in     out     source               destination

选项:

  • -n:将地址和端口显示为数字
  • -t table:指定表名,默认为filter
  • -v:显示更为详细的信息
  • --line-numbers:显示规则的ID

规则的添加

向表的链中添加规则:

$ sudo iptables -t filter -A INPUT -p icmp -j REJECT$ sudo iptables -t filter -nvL
Chain INPUT (policy ACCEPT 44 packets, 2912 bytes)pkts bytes target     prot opt in     out     source               destination0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachableChain FORWARD (policy ACCEPT 0 packets, 0 bytes)pkts bytes target     prot opt in     out     source               destinationChain OUTPUT (policy ACCEPT 33 packets, 2508 bytes)pkts bytes target     prot opt in     out     source               destination

这条规则的含义就是在filter表的INPUT链上增加一条拒绝所有icmp请求的规则,这样所有的ping请求将无法通讯:

$ ping 172.29.142.35 -c 3
PING 172.29.142.35 (172.29.142.35) 56(84) bytes of data.--- 172.29.142.35 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2044ms

再添加一条规则:

$ sudo iptables -t filter -A INPUT -p tcp -j ACCEPT$ sudo iptables -t filter -nvL --line-numbers
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        6   588 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
2       96  5568 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destinationChain OUTPUT (policy ACCEPT 49 packets, 3724 bytes)
num   pkts bytes target     prot opt in     out     source               destination

-A选项表示在尾部规则链中进行追加。

如果想在规则链的指定位置插入规则,可以使用-I选项,需要指定插入到规则链的哪个位置,默认为1。

$ sudo iptables -t filter -I INPUT 2 -p udp -j ACCEPT$ sudo iptables -t filter -nvL --line-numbers
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        6   588 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
2        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0
3      327 19308 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destinationChain OUTPUT (policy ACCEPT 51 packets, 3876 bytes)
num   pkts bytes target     prot opt in     out     source               destination

规则的替换

使用-R选项进行规则的替换。

$ sudo iptables -t filter -R INPUT 1 -p icmp -j ACCEPT$ sudo iptables -t filter -nvL --line-numbers
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
2        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0
3      473 27740 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destinationChain OUTPUT (policy ACCEPT 6 packets, 488 bytes)
num   pkts bytes target     prot opt in     out     source               destination

规则的删除

使用-D选项进行规则的删除,可以根据规则的ID进行删除,也是根据整个规则进行删除。

$ sudo iptables -t filter -D INPUT 2$ sudo iptables -t filter -D INPUT -p tcp -j ACCEPT$ sudo iptables -t filter -nvL --line-numbers
Chain INPUT (policy ACCEPT 8 packets, 464 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destinationChain OUTPUT (policy ACCEPT 5 packets, 388 bytes)
num   pkts bytes target     prot opt in     out     source               destination

可以使用-F来删除所有的规则:

$ sudo iptables -t filter -F$ sudo iptables -t filter -nvL --line-numbers
Chain INPUT (policy ACCEPT 8 packets, 464 bytes)
num   pkts bytes target     prot opt in     out     source               destinationChain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destinationChain OUTPUT (policy ACCEPT 5 packets, 380 bytes)
num   pkts bytes target     prot opt in     out     source               destination

可以使用-Z选项让规则的计数器从0重新开始:

$ sudo iptables -t filter -Z

匹配条件

iptables可以根据不同的匹配条件来过滤网络数据包。iptables的匹配条件可以分为通用匹配条件和扩展匹配条件两种。

通用匹配条件:

  • -p:指定协议类型,如TCP、UDP、ICMP等。
  • -s:指定源IP地址或地址段。
  • -d:指定目标IP地址或地址段。
  • –sport:指定源端口号。
  • –dport:指定目标端口号。
  • -i:指定数据包进入的网络接口。
  • -o:指定数据包输出的网络接口。

扩展匹配条件:除了通用匹配条件其余可用于匹配的条件称为扩展配条件,这些扩展匹配条件在netfilter中以模块的形式存在,如果想使用这些条件,则需要依赖对应的拓展模块。

扩展匹配条件包括:

  • –mac-source:指定源MAC地址。
  • –mac-destination:指定目标MAC地址。
  • –state:指定连接状态,如NEW、ESTABLISHED、RELATED等。
  • –tcp-flags:指定TCP标志位。
  • –icmp-type:指定ICMP类型。
  • –limit:限制匹配规则的匹配次数。
  • –comment:为匹配规则添加注释。

处理动作

iptables规则的处理动作是指对匹配到的数据包所采取的操作。

常见的处理动作包括:

  • ACCEPT:允许数据包通过
  • DROP:直接丢弃数据包,不给任何回应信息。。
  • REJECT:拒绝数据包通过,必要时会给数据发送端一个相应的信息,客户端刚请求就会收到拒绝的信息。
  • SNAT:源地址转换,解决内网用户用同一个公网地址上网的问题。
  • MASQUERADE:是SNAT的一种特殊形式,适用于动态的、临时会变的IP上。
  • DNAT:目标地址转换
  • REDIRECT:在本机做端口映射。
  • LOG:在/var/log/mesages文件中记录日志信息,然后将数据包传递给下一条规则。即除了记录外不对数据包做任何其他操作,仍然让下一条规则进行匹配

自定义链

在iptables中,可以创建自定义链(Custom Chains)来组织和管理防火墙规则。

自定义链可以以更高层次和更好的可读性来管理规则,使配置和维护更加简单。

创建链mychain

$ sudo iptables -N MYCHAIN$ sudo iptables -t filter -nvL
Chain INPUT (policy ACCEPT 201 packets, 12360 bytes)pkts bytes target     prot opt in     out     source               destinationChain FORWARD (policy ACCEPT 0 packets, 0 bytes)pkts bytes target     prot opt in     out     source               destinationChain OUTPUT (policy ACCEPT 127 packets, 9820 bytes)pkts bytes target     prot opt in     out     source               destinationChain MYCHAIN (0 references)pkts bytes target     prot opt in     out     source               destination

此时filter表中多了一条MYCHAIN链。

添加规则到自定义链:

$ sudo iptables -t filter -A MYCHAIN -s 192.168.1.0/24 -j DROP

禁止192.168.1.0/24的网段访问本机,丢弃源地址的流量。

调用自定义链:

$ sudo iptables -t filter -A INPUT -p tcp --dport 80 -j MYCHAIN$ sudo iptables -t filter -nvL --line-numbers
Chain INPUT (policy ACCEPT 6 packets, 348 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 MYCHAIN    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destinationChain OUTPUT (policy ACCEPT 4 packets, 304 bytes)
num   pkts bytes target     prot opt in     out     source               destinationChain MYCHAIN (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 DROP       all  --  *      *       192.168.1.0/24       0.0.0.0/0

将所有传入TCP端口80的流量传递到MYCHAIN自定义链进行处理。如果不调用自定义的规则链,则自定义的规则链无效。

清空链中的规则:

$ iptables -F MYCHAIN

删除指定的自定义链:

$ iptables -X MYCHAIN

删除所有的的自定义链:

$ iptables -X
http://www.dinnco.com/news/12132.html

相关文章:

  • 今天刚刚最新消息2023淘宝seo搜索优化工具
  • win7 iis配置wordpressseo策略是什么意思
  • 广东做网站公司有哪些营销软件网
  • 苏州网站开发公司兴田德润在哪儿自己怎么免费做百度推广
  • 简述商务网站建设步骤网站如何提交百度收录
  • 儿童网站源码app推广平台
  • 在深圳做网站平台需要什么备案百度站长工具链接提交
  • 网站后台灰色百度资源站长平台
  • 商城网站做推广方案衡水网站seo
  • 搭建写真网站赚钱项目百度站长电脑版
  • 网站建设的注意事项西安做网页的公司
  • 做店铺装修的公司网站网站建设详细方案模板
  • 网络设计参考文献佛山企业用seo策略
  • 2345浏览器官方网站企业宣传推广
  • 一千个长尾关键词用一千个网站做数字营销课程
  • 青浦区建设管理委员会网站博客seo优化技术
  • 又做投资的网站吗百度seo最成功的优化
  • 开个网站需要什么北京搜索关键词优化
  • 做网站的时候宽度都怎么弄百度知道首页官网
  • 核桃编程怎么报名网课seo研究中心好客站
  • 网络优化论文建站优化
  • 网站开发团队成员介绍免费二级域名建站
  • 网站建设怎么在图片上加字推广运营平台
  • 做网站空间放哪些文件夹steam交易链接是什么
  • 北京做网站哪家便宜2345网址大全设主页
  • 阿里云登录小时seo
  • 访问自己做的网站吗百度双十一活动
  • 怎么把网站封包做app在线域名解析ip地址
  • 深圳网站推广哪家好全国十大婚恋网站排名
  • 手机网站商城建设答辩seo外链优化培训