首页 > 系统相关 >iptables 命令使用帮助总结

iptables 命令使用帮助总结

时间:2024-09-02 09:27:17浏览次数:13  
标签:iptables 总结 rulenum chain -- ACCEPT 命令 INPUT

本文为博主原创,转载请注明出处:

1.iptables 命令帮助参数

root@controller1:~# iptables --help
iptables v1.6.1

Usage: 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] chain
       iptables -E old-chain-name new-chain-name
       iptables -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 rulenum
                                Delete rule rulenum (1 = first) from chain
  --insert  -I chain [rulenum]
                                Insert in chain as rulenum (default 1=first)
  --replace -R chain rulenum
                                Replace 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 target
                                Change policy on chain to target
  --rename-chain
            -E old-chain new-chain
                                Change 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 target
                                target for rule (may load target extension)
  --goto      -g chain
                              jump to chain with no return
  --match       -m match
                                extended 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 lock
                                default 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.

2.iptables 常用参数

  1. -L, --list
    • 列出所有规则链。
    • 示例:iptables -L 列出所有链的默认规则。
  2. -A, --append
    • 向指定链追加一条规则。
    • 示例:iptables -A INPUT -p tcp --dport 22 -j ACCEPT 向 INPUT 链追加一条规则,允许所有到 TCP 端口 22 的连接。
  3. -D, --delete
    • 删除链中的一条规则。
    • 示例:iptables -D INPUT -p tcp --dport 22 -j ACCEPT 删除 INPUT 链中允许 TCP 端口 22 的规则。
  4. -I, --insert
    • 在链的指定位置插入一条规则。
    • 示例:iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT 在 INPUT 链的第一条规则之前插入一条允许 TCP 端口 80 的规则。
  5. -R, --replace
    • 替换链中的一条规则。
    • 示例:iptables -R INPUT 1 -p tcp --dport 8080 -j ACCEPT 替换 INPUT 链中第一条规则为允许 TCP 端口 8080 的规则。
  6. -F, --flush
    • 删除链中的所有规则。
    • 示例:iptables -F INPUT 删除 INPUT 链中的所有规则。
  7. -N, --new-chain
    • 创建一个新的用户自定义链。
    • 示例:iptables -N MYCHAIN 创建一个名为 MYCHAIN 的新链。
  8. -X, --delete-chain
    • 删除一个用户自定义链。
    • 示例:iptables -X MYCHAIN 删除名为 MYCHAIN 的链。
  9. -P, --policy
    • 设置链的默认策略。
    • 示例:iptables -P INPUT DROP 将 INPUT 链的默认策略设置为 DROP。
  10. -j, --jump
    • 指定匹配的数据包应该跳转到的目标。
    • 示例:iptables -A INPUT -p tcp --dport 22 -j ACCEPT 匹配的数据包将被接受(ACCEPT)。

  11. -v, --verbose

    • 显示更详细的信息。这通常包括每个规则的匹配次数、数据包数、字节数等统计信息。
    •  

3.常用命令

  1.删除现有规则

iptables -F
(OR)
iptables --flush

  2.屏蔽指定的IP地址

  以下规则将屏蔽BLOCK_THIS_IP所指定的IP地址访问本地主机:

BLOCK_THIS_IP="x.x.x.x"
iptables -A INPUT -i eth0 -s "$BLOCK_THIS_IP" -j DROP
(或者仅屏蔽来自该IP的TCP数据包)
iptables -A INPUT -i eth0 -p tcp -s "$BLOCK_THIS_IP" -j DROP

  3.允许来自外部的ping测试

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

  4.允许从本机ping外部主机

iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

  5.允许环回(loopback)访问

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

  6.允许 SSH 访问

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

  7.允许 HTTP 访问

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

  8.拒绝所有其他入站连接

iptables -P INPUT DROP

  注意:这里使用了 -P INPUT DROP 来设置 INPUT 链的默认策略为 DROP,这意味着除非明确允许,否则所有入站连接都将被拒绝。

 

标签:iptables,总结,rulenum,chain,--,ACCEPT,命令,INPUT
From: https://www.cnblogs.com/zjdxr-up/p/18391873

相关文章

  • 第十周总结(2024.9.7)
    保存文件时候会报错“FileNotFoundError:Nosuchfileordirectory”Python在保存文件时,如果路径下你要操作的文件不存在,它会自动创建一个文件,然后写入数据。但是,如果是路径中的文件夹不存在,则不会自动创建,而是会报错上面那样的错误。只是你的路径中没有对应的文件夹而已,缺哪......
  • 第七周总结(2024.8.17)
    importrequestsimportre#请求URLurl='<http://www.zuihaodaxue.com/zuihaodaxuepaiming2019.html>'#请求头部headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58......
  • 第八周总结(2024.8.24)
    importtimefromseleniumimportwebdriverimportrequests#请求URLurl='<https://weibo.com/>'#请求头部headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0......
  • 第九周总结(2024.8.31)
    packagecom.java.hadoop.hive;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importorg.apache.hadoop.hive.metastore.api......
  • 第五周总结(2024.8.3)
     本周学习python爬虫所出现的问题:1、设置请求头Headers的问题一般headers设置user-Agent即可,如果有的数据是登陆后才能看到的话,还需要添加cookies参数(先登陆账号后,在浏览器的开发者工具中,拷贝Cookies即可)。这些参数都可以在浏览器的开发者工具中找到。2、编码问题......
  • 第六周总结(2024.8.10)
    importrequestsfrombs4importBeautifulSoupimportcsv#请求URLurl='<https://movie.douban.com/top250>'#请求头部headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)C......
  • Day12_0.1基础学习MATLAB学习小技巧总结(12)——程序流程控制3-switch结构
    利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。素材来源“数学建模清风”特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以移步......
  • Docker常用的命令
    本章将和大家分享Docker中常用的命令。废话不多说,下面我们直接进入主题。1、配置镜像加速源拉取镜像慢,配置加载镜像地址:创建一个或修改/etc/docker/daemon.json文件(如果不存在则创建):vim/etc/docker/daemon.json并添加或修改registry-mirrors字段,例如:{"registry-m......
  • 在.NET后端开发的十年之旅:反思与总结
     开局 依稀记得那是2014年11月大四上学期,学校已经没有课了。看着同寝室的其他室友都出去实习了,而我一个人还坐在电脑前发呆。因为的不敢出去面试。由于小学时牙齿有一颗龅牙,从小就产生了自卑的心理,也让自己有了严重的社交恐惧,我开始不敢一个人买车票,甚至不敢自己去食堂吃饭。......
  • Linux高级命令(扩展)
    Linux高级命令(扩展)一、find命令1、find命令作用在Linux操作系统中,find命令主要用于进行文件的搜索。2、基本语法#find搜索路径[选项选项的值]...选项说明:-name:根据文件的名称搜索文件,支持*通配符-type:f代表普通文件、d代表文件夹案例:搜索计算机中的所有文件,然后找......