V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
koebehshian
V2EX  ›  Linux

iptables 如何屏蔽所有端口但是自身能上网

  •  
  •   koebehshian · 2022-11-18 10:05:41 +08:00 · 2231 次点击
    这是一个创建于 743 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,我试了一下,貌似由于 IP 层没法区分是服务端发出的还是客户端发出的,所以屏蔽所有端口后,自身也不上了网了。TCP 有没有什么 flag 能区分一下

    第 1 条附言  ·  2022-11-18 12:26:14 +08:00
    解决了,加了`--syn`选项,就是只屏蔽 TCP 连接握手的包。
    参考 https://explainshell.com/explain?cmd=iptables+-A+INPUT+-p+tcp+-m+tcp+--syn+-j+REJECT
    10 条回复    2022-11-24 00:20:35 +08:00
    yc8332
        1
    yc8332  
       2022-11-18 10:09:03 +08:00
    通信需要端口,不管是发出还是接收。
    nodesolar
        2
    nodesolar  
       2022-11-18 10:09:34 +08:00
    按 input /ouput 做屏蔽呗
    ihipop
        3
    ihipop  
       2022-11-18 10:13:35 +08:00 via Android   ❤️ 1
    这还不简单,如果不想要客户端能访问服务器,就禁止入站(或者入站握手)呗。
    baobao1270
        4
    baobao1270  
       2022-11-18 10:20:34 +08:00
    废话,IP 层当然没法判断
    但是你试了一下就发现,显然是不可能的,是你的操作方法有错误。
    kaedeair
        5
    kaedeair  
       2022-11-18 10:22:00 +08:00
    默认 intput reject 然后配置 tcp 状态为 related 和 established 的 accpt
    sujin190
        6
    sujin190  
       2022-11-18 11:04:18 +08:00
    #5 说得对,不但 tcp 有连接 established 的状态,udp 也有,iptables -m 参数可以设置匹配这个,服务器上网先走 output 表不 reject 发 sync ,然后就有连接状态可以匹配继续放行
    hxysnail
        7
    hxysnail  
       2022-11-18 11:10:32 +08:00
    把 lo 以外的入站握手 drop 掉就行啦
    PbCopy111
        8
    PbCopy111  
       2022-11-18 11:41:26 +08:00
    需求说错了,先说屏蔽所有端口的目的。
    koebehshian
        9
    koebehshian  
    OP
       2022-11-18 16:29:56 +08:00
    @PbCopy111 是嵌入式上,开发路由器,但不用 openwrt(为了省一个芯片,直接在通信模块中实现路由功能)
    JohnBull
        10
    JohnBull  
       2022-11-24 00:20:35 +08:00
    最好不要直接用--syn ,改用 -m conntrack ,拦截 NEW 状态,放过 ESTABLISHED,RELATED 状态。
    因为有些协议就是要派生出反向连接的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   915 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 21:42 · PVG 05:42 · LAX 13:42 · JFK 16:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.