迫于第一次接触 防火墙 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
frylkrttj
V2EX    程序员

迫于第一次接触 防火墙

  •  
  •   frylkrttj
    linlinggit 2019 年 2 月 5 日 10309 次点击
    这是一个创建于 2584 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1、怎么查看 iptables 防火墙状态。

    现在 baidu 出来的很多文章教程都是垃圾,找的很多教程都说是这个命令“ service iptables status ”结果不行。

    希望有懂的出来,说说用什么命令查看 iptables 状态。

    这是我找的其中一个教程,其他基本都是一样。https://blog.csdn.net/bbwangj/article/details/74502967

    2、各种教程都说 nftables 早已进入内核,可为什么还要安装呢?

    3、有没有萌新能看得懂的

    63 条回复    2019-02-07 11:28:19 +08:00
    nameme
        1
    nameme  
       2019 年 2 月 5 日
    iptables -L 有规则则启用
    Kinnice
        2
    Kinnice  
       2019 年 2 月 5 日 via Android
    发行版是哪个?版本是哪个?
    tadtung
        3
    tadtung  
       2019 年 2 月 5 日 via Android
    还是楼上说的用的 centos 哪个版本?
    6 和 7 不同的
    frylkrttj
        4
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @nameme 意思是它就是一直开启的吗?是靠有没有给定规则来判断是否开启? 感觉不对吧。

    那为什么有些教程说 如果要开启就 “ systemctl start iptables ”?

    我看过一些教程的理解是 iptables 默认因该是没开启的吧。
    frylkrttj
        5
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @Kinnice @tadtung

    是 archlinux 这还分哪个版本吗?
    alvin666
        6
    alvin666  
       2019 年 2 月 5 日 via Android
    初次接触建议用 ufw,iptables 就是瑞士军刀,复杂,功能多
    LGA1150
        7
    LGA1150  
       2019 年 2 月 5 日 via Android
    iptables 是用户态的设置程序,而不是服务 / 守护进程,规则会写到内核 netfilter 里
    导出全部规则,用 iptables-save
    tadtung
        8
    tadtung  
       2019 年 2 月 5 日 via Android
    @frylkrttj archlinux 我自己没用过,我自己服务器一直用 centos 和 debian。
    archlinux 你应该是最小化安装,所以很可能没有 nftables。
    网上多看看 archlinux 相关教程吧。你百度大多搜到的是 centos 这些相关的
    chinvo
        9
    chinvo  
       2019 年 2 月 5 日
    1、能不能搜一下
    2、能不能别看 CSDN,全是过期的转载
    3、有,能不能搜一下
    frylkrttj
        11
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @chinvo 找来找去就那几个教程,真的找不到才发帖的啦。、

    到 9 楼了也没人说这到底怎么确认 iptables 是否已经开启。

    我的电脑谁我爸给我弄好的,现在我想自己弄弄
    chinvo
        12
    chinvo  
       2019 年 2 月 5 日   1
    @frylkrttj #11

    看发行版 wiki
    看鸟哥的书 /博客
    看 man

    这么多途径能了解这些浅薄的知识,你非要选个最麻烦而且你还不那么擅长的到论坛提问
    frylkrttj
        13
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @all 我安装了 gufw 玩了下,但每次用 gufw 配置了开启后,重新启动后开启按钮又变成没开启了。
    hellowes
        14
    hellowes  
       2019 年 2 月 5 日
    就算给你 google,你也照样找不到,不要把锅甩给 baidu 和博主,我自己用 baidu 和 CSDN 就能找到
    hellowes
        15
    hellowes  
       2019 年 2 月 5 日
    service iptables status 在某些发行版是可用的,你自己不检查一下版本和 Linux 发行版本就喷别人垃圾,建议还是不要碰 linux 了
    frylkrttj
        16
    frylkrttj  
    OP
       2019 年 2 月 5 日   1
    @hellowes 那到底怎么确认状态。一楼说的好象是确认规则的,不是确认开启状态的
    hellowes
        17
    hellowes  
       2019 年 2 月 5 日
    @frylkrttj Ubuntu 16.04/15.04/14.04? Centos 6/7? Arch? Fedora? 这些信息大家都不知道,没有办法帮助你。

    你看看有没有 man 手册页,直接 man iptables 看手册就行了
    Tounea
        18
    Tounea  
       2019 年 2 月 5 日
    service iptables status 这是 centos 查看 iptables 服务状态,不是查看 iptables 防火墙状态,想看 iptables 防火墙状态直接 iptables -L 就可以看到
    Tink
        19
    Tink  
    PRO
       2019 年 2 月 5 日
    iptables -L
    frylkrttj
        20
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @Tounea @Tink 我说的状态是指 iptables 是否开启状态。我想大家都明白吧。
    Tounea
        21
    Tounea  
       2019 年 2 月 5 日
    @frylkrttj 我说的 iptables 服务状态就是你指的 iptables 是否开启状态
    hyshuang2006
        22
    hyshuang2006  
       2019 年 2 月 5 日   2
    官方文档时最好的参考 https://wiki.centos.org/HowTos/Network/IPTables

    另外,刚安装完的 centos 7,默认下 iptables 是没起到作用的,卸载再重装一次 iptables 就看到效果了.

    iptables 的内容需要时间去消化,多、杂,最好是系统地去阅读官方文档。
    jason52
        23
    jason52  
       2019 年 2 月 5 日
    w2er
        24
    w2er  
       2019 年 2 月 5 日 via iPhone
    默认 iptables 服务都不开吧。如果自己可以选择系统,建议从 ubuntu 玩起,或者 centos,也别装太新的,然后百度搜索比如 Ubuntu+16+iptables
    lrvy
        25
    lrvy  
       2019 年 2 月 5 日   1
    Arch 的话建议看官方的 ArchWiki, 写的很全很好
    580a388da131
        26
    580a388da131  
       2019 年 2 月 5 日 via iPhone
    archlinux 默认没开防火墙
    recall704
        27
    recall704  
       2019 年 2 月 5 日
    frylkrttj
        28
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @lrvy archwiki 上就是没说怎么确认是否已经开启
    oovveeaarr
        29
    oovveeaarr  
       2019 年 2 月 5 日
    iptalbes 本质上不存在开启不开启的状态,centos 上的 iptables 关闭只是清空规则而已,iptables-save 看规则就行了
    binux
        30
    binux  
       2019 年 2 月 5 日 via Android   3
    systemctl status iptables
    LZ 还小,你们要把知识嚼过,喂它嘴里才行

    (我就惯着它,让它长成个废人)
    blless
        31
    blless  
       2019 年 2 月 5 日 via Android
    没记错现在系统应该带的是 firewall 吧,自己装 iptables 会跟系统的冲突,要不就卸载 firewall 换 iptables。百度的很多文章基本都过时了,最好直接翻官方配置文档
    blless
        32
    blless  
       2019 年 2 月 5 日 via Android
    services 命令也过时好久了,除非你以后进一些公司都是用 centos6 和以下系统。现在用 docker 的基本都是 ubuntu 和 centos7 了,现在都是统一的 systemctl
    frylkrttj
        33
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @binux #30 这个命令用过了,就是不知道输出是什么意思
    ismedone
        34
    ismedone  
       2019 年 2 月 5 日
    @frylkrttj 你可以贴出来,让人继续嚼烂
    2exploring
        35
    2exploring  
       2019 年 2 月 5 日
    iptables 算不上是真正的服务,因为根本就没有驻守进程,服务启用 /关闭只是加载 /清空规则而已。iptables 默认应该是在开启状态的,只是大多数发行版默认规则列表都是空的,要关闭 iptables 你大概需要禁用内核模块这种操作。
    frylkrttj
        36
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @ismedone 我懂了,我懂了。

    “ systemctl status iptables ”在#30 楼给我之前我就是试过了,只因为不知道输出是什么意思。

    现在我懂开启或关闭状态是什么提示了,特别鸣谢 @binux

    这是未开启的输出,谁解释下为什么不是直接提示一个未开启标志,看的我一脸懵逼。
    ```
    ● iptables.service - IPv4 Packet Filtering Framework
    Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor prese>
    Active: inactive (dead)
    ```
    frylkrttj
        37
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @2exploring 最不科学的就是它居然是不开启的,开始我也以为是默认开启的。所以上面那提示,我无法联想到它是说未开启。它要输出一个“ Stop ”我还看的懂。
    frylkrttj
        38
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @2exploring 更不科学的是我用 gufw 开启了,它还是输出上面那些信息。
    2exploring
        39
    2exploring  
       2019 年 2 月 5 日   1
    disable、inactive 那么大的字,谁来救救楼主吧。。
    pickcat
        40
    pickcat  
       2019 年 2 月 5 日
    套用一句名言:一切不说系统版本却来问啥啥啥不行的,都是耍流氓(例:windows1.0 和 windows10 之间虽然只差一个英文句号,但差距有多大体会一下~)
    40huo
        41
    40huo  
       2019 年 2 月 5 日 via Android
    @frylkrttj active 那一行不就是么。。。
    2exploring
        42
    2exploring  
       2019 年 2 月 5 日
    RE #38
    我在 35 楼说的 iptables 有两层意思:( 1 )一个命令行配置防火墙的工具,( 2 ) 1 中的那个工具所配置的内核防火墙模块。
    所以我就说 iptables ( 1 )不是一个真正的服务,它的功能就是修改( 2 )的规则,不管你看到 iptables.service 的状态是什么样,iptables ( 2 )都是开启的(除非你在内核层面禁掉相关功能)。
    Kinnice
        43
    Kinnice  
       2019 年 2 月 5 日 via Android
    @40huo 楼主可能不懂 active 的意思,又不屑于去翻译。
    frylkrttj
        44
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @2exploring
    @pickcat
    @40huo
    @Kinnice

    我是被 gufw 的开启功能误导了啊,谁知道它开启的竟然不是“ iptables.service ”,导致我认为 gufw 开启后“ systemctl status iptables ”前后输出没有变化,说明这个命令不能查看 iptables 开启状态。

    问题来了 gufw 开启的是什么。
    snw
        45
    snw  
       2019 年 2 月 5 日 via Android
    初学 Linux 建议找个大发行版,然后搜教程时一定要带发行版名称和版本。

    Linux 对初学者就是这么不友好,说句不好听的就是“爱用用,不用滚”。
    frylkrttj
        46
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @snw 是我爸用过的电脑开始装的就是 archlinux,都用了好久了。
    tz1006
        47
    tz1006  
       2019 年 2 月 5 日
    如果不想深入请用 ufw
    Kinnice
        48
    Kinnice  
       2019 年 2 月 5 日 via Android
    @frylkrttj gufw 开启的就是 gufw ???你还在怀疑什么???
    Kinnice
        49
    Kinnice  
       2019 年 2 月 5 日 via Android
    @frylkrttj 用了好久了???你这个感觉可不像是用了好久啊,gufw 开启的是 gufw,你在 Windows 10 打开 XX 杀毒,难道你打开的是 windows defender ?
    frylkrttj
        50
    frylkrttj  
    OP
       2019 年 2 月 5 日
    @Kinnice gufw 是 iptables 前端,操作的当然是后端了。这是基本的逻辑吧。
    luozic
        51
    luozic  
       2019 年 2 月 5 日 via iPhone
    真要研究这东西,推荐搞个虚拟机装个 freebsd 研究,linux 的网络层基本照抄的 bsd 系统的
    MasterMonkey
        52
    MasterMonkey  
       2019 年 2 月 5 日 via iPhone
    iptables-save

    ip6tables-save
    billwsy
        53
    billwsy  
       2019 年 2 月 6 日
    #13 gufw 是 ufw 的前端,ufw 是 iptables (指内核里面那个 netfilter )的前端,iptables 命令也是 iptables (指内核里面那个 netfilter )的前端

    https://help.ubuntu.com/community/UFW
    yuikns
        54
    yuikns  
       2019 年 2 月 6 日   1
    动不动就滑坡的,你咋不用 xv6 做桌面机用纸袋机当键盘呢
    kersbal
        55
    kersbal  
       2019 年 2 月 6 日   1
    推荐 digitalocean 的文档,这种文档很多都是有悬赏奖励的,所以质量很不错。一篇 ubuntu 的:
    https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-iptables-on-ubuntu-14-04

    一篇讲原理的:
    https://www.digitalocean.com/community/tutorials/a-deep-dive-into-iptables-and-netfilter-architecture

    等等
    lulinux
        56
    lulinux  
       2019 年 2 月 6 日 via Android
    不标注发行版及其版本号的 Linux 教程都是耍流氓
    pimin
        57
    pimin  
       2019 年 2 月 6 日 via Android   1
    您好,我们这里建议您百度一下呢
    Deteriorator
        58
    Deteriorator  
       2019 年 2 月 6 日
    新版本一般使用的是 firewalld
    frylkrttj
        59
    frylkrttj  
    OP
       2019 年 2 月 6 日
    @billwsy 是真懂,现在我知道是怎么回事了了。

    大家似乎忽略了我的第二条问题。

    2、各种教程都说 nftables 早已进入内核,可为什么还要安装呢?
    Showfom
        60
    Showfom  
    PRO
       2019 年 2 月 6 日 via iPhone   1
    Debian 10 已经用光 nft 了
    mytry
        61
    mytry  
       2019 年 2 月 6 日
    @frylkrttj 内核那个是字节码解释器,nft 只是用户态的编译器,把规则翻译成字节码丢给内核执行,这个命令默认是没安装的。
    LGA1150
        62
    LGA1150  
       2019 年 2 月 6 日 via Android
    @frylkrttj #59
    首先,发行版的内核模块是可以独立安装的文件
    其次,你总得有个用户态的控制程序吧
    masker
        63
    masker  
       2019 年 2 月 7 日
    是培训班出来的没错了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5620 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 08:05 PVG 16:05 LAX 00:05 JFK 03:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86