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

init 占用 443 端口?

  •  
  •   aries1998 · 2016-12-11 22:32:18 +08:00 · 4529 次点击
    这是一个创建于 2691 天前的主题,其中的信息可能已经有所发展或是发生改变。

    tcp6 0 0 :::443 :::* LISTEN 1/init
    udp6 0 0 :::443 :::* 1/init

    vps 上面的 443 端口居然被 init 给占用了, grep 下 etc 下面的东西, 没发现有监听 443 的东西, 怎么解?

    vps 肯定没被黑, 这个我可以确定, 因为我有 2 个 vps, 同一个服务商的, 只不过地点不一样, 检验过文件 md5 都没问题

    21 条回复    2016-12-12 11:10:20 +08:00
    aries1998
        1
    aries1998  
    OP
       2016-12-11 22:38:09 +08:00
    找到问题了..............

    lsof -i :443
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    systemd 1 root 22u IPv6 322205931 0t0 TCP *:https (LISTEN)
    systemd 1 root 42u IPv6 322205932 0t0 UDP *:https
    ocserv-ma 1228 root 3u IPv6 322205931 0t0 TCP *:https (LISTEN)
    ocserv-ma 1228 root 4u IPv6 322205932 0t0 UDP *:https

    某个时候装了 ocserv, 但是为什么 netstat 看 443 端口是被 init 占用的, 难道 init 还能做个 wrapper 转发包? 是我孤陋寡闻了?
    momi
        2
    momi  
       2016-12-11 22:41:50 +08:00
    @aries1998 我的理解,系统启动时, systemd 是被 init 启动的。
    XiaoxiaoPu
        3
    XiaoxiaoPu  
       2016-12-11 22:46:29 +08:00
    应该是 ocserv 用了 systemd socket unit ,就是端口由 systemd 监听,平时 ocserv 不启动,有连接进来后 systemd 自动自动 ocserv 并转发连接
    aries1998
        4
    aries1998  
    OP
       2016-12-11 22:50:18 +08:00
    @XiaoxiaoPu 应该是这么回事, init 我的理解中是和网络没有半毛钱关系的, 好久没用 linux 了, systemd 这东西实在用得不习惯 , 这块一天到晚变来变去, 各种发行版各种套路, 烦得要死
    billlee
        5
    billlee  
       2016-12-11 23:07:37 +08:00
    @momi systemd 就是 init

    @aries1998 systemd 把以前的 syslogd, udevd, xinetd, cron 什么的功能全部集成进来了。你觉得它变来变去是什么情况,现在 Debian 和 CentOS 都是刚开始用 systemd 的, Debian 上的 systemd 版本新一点,但两边都是兼容的啊。
    aries1998
        6
    aries1998  
    OP
       2016-12-11 23:17:44 +08:00
    @billlee 我还停留在 init+rcX.d 启动级别的阶段, 后面出来的这些 systemd 之类的新东西真心不想去看, 反正感觉原来的很简单的系统结构现在弄得是越来越反人类.

    还有那个什么 predicted network name 之类的高端玩意, 好好的大家都知道的名字 eth0 不用, 非要搞出个什么 enp0s7 之类莫名其妙的名字
    billlee
        7
    billlee  
       2016-12-11 23:33:12 +08:00
    @aries1998 其实 systemd 是把事情变简单的,以前写个 daemon, 要 fork 2 次, setsid, 调整 stdin/stdout/stderr, setuid,自己搞日志系统等一大堆事情。有 systemd 以后这些都不需要做了,就写个配置文件,让 systemd 去调用普通的前台程序, daemonize 和降权的过程 systemd 帮你做好,输出到 stdout/stderr/syslog 的信息自动记录到日志。
    momi
        8
    momi  
       2016-12-11 23:37:30 +08:00
    @aries1998 目前的 linux 发行版本确实越来越让人不爽了,以 remove systemd 为关键词一搜索,出来一大堆帖子或邮件,但搞开发的就是固执己见,也没见人列出这个 systemd 究竟有哪些非换不可的优点。

    切换运行级别, init 3/5 ,本来多简单、直观的,现在在 systemd 下虽然也能用,但文档上都是建议用
    systemctl isolate multi-user.target
    要不是能自动补全,真是能烦死人。
    jimzhong
        9
    jimzhong  
       2016-12-11 23:41:44 +08:00
    很早以前是有一个 inted 用于接管 TCP 连接的
    Tyanboot
        10
    Tyanboot  
       2016-12-11 23:57:41 +08:00 via Android
    @momi https://www.google.com/search?q=remove+sysvinit


    @aries1998 你说的 systemd 变来变去又是什么情况?现在新的发现版基本都是 systemd 了吧。套路也都是一样的。 unit 文件什么位置不都一样。一个 unit 复制到其他地方也能用。 systemd 的出现让事情变得简单了。写单元文件也比以前的脚本方便多了啊。
    aries1998
        11
    aries1998  
    OP
       2016-12-12 00:04:17 +08:00
    @billlee 我能理解 systemd 想做什么事情, 但是实在和我认为的类 unix 系统理念不同, 原来的各种工具就是 do one thing and do it good , 各种程序之间尽可能低耦合, 通过 pipeline 或者其他方式来粘合不同工具, 理解起来简单,用起来也简单.
    aries1998
        12
    aries1998  
    OP
       2016-12-12 00:05:52 +08:00
    @Tyanboot 我说的变来变去不是指 systemd 本身, 是说系统整个的启动,运行,接管等机制变来变去
    ericFork
        13
    ericFork  
       2016-12-12 00:08:06 +08:00
    从现在开始接触 linux server ,是好时候, systemd 接管了很多古老的东西,用统一和现代化的方式组织和管理起来。如果是习惯了旧的方式,迁移和学习成本肯定是不愉快的
    htfy96
        14
    htfy96  
       2016-12-12 01:10:27 +08:00 via Android
    作为直接 systemd 入门的感觉比 sysVinit 等 shell script 的解决方案舒服很多。现在能写 Python 就不用 shell script
    aries1998
        15
    aries1998  
    OP
       2016-12-12 01:37:59 +08:00
    google 了下关于 systemd 的争论, 发现又是一个月经的话题, 更多的是个人偏好的问题, 我这种不喜欢对大而全的自然对 systemd 不感冒, 各有各的好处, 看场合, 也就是上下文, 单独讨论 systemd 确实没太大意义, 大家洗洗睡吧.
    Vicer
        16
    Vicer  
       2016-12-12 05:43:03 +08:00 via Android   ❤️ 1
    不太喜欢,所以用回 debian 7 了
    ocian
        17
    ocian  
       2016-12-12 07:21:26 +08:00 via Android
    @Vicer 有一个没有 systemd 的 debian 版本,好像叫 devaue
    hosiet
        18
    hosiet  
       2016-12-12 09:12:24 +08:00 via Android
    时代在发展, systemd 总有一天也会被替代,但同时不能否认现在 systemd 是走在时代前沿的 init 系统之一。

    楼主碰到的 socket activation 是 systemd 值得自豪的杀手级功能之一,故名思义通过 socket 连接触发服务启动,极其适合 cups / ssh / ocserv 这种按需启动的服务。不论具体实现,这种设计思路我觉得很赞。
    wwqgtxx
        19
    wwqgtxx  
       2016-12-12 10:12:22 +08:00 via iPhone
    其实大家天天喊着 systemd 不好用大多是只是不想学习新鲜事物的惰性,毕竟旧知识能用,干嘛要学新的
    而这个东西本身本身好不好用,有没有先进的地方人们不关心
    Mdrights
        20
    Mdrights  
       2016-12-12 10:42:55 +08:00 via iPhone
    @ocian
    @aries1998
    非 systemd 的叫 devuan. :)
    另外 安利一下 Slackware 喔,全是腳本。

    總之,對系統管理員來說,是操作更簡單了。對自由 geek ,肯定覺得這很不 unix ,哈哈。理解樓主

    另外歡迎到 telegram 的 old unix 群組來玩兒。
    aries1998
        21
    aries1998  
    OP
       2016-12-12 11:10:20 +08:00
    @wwqgtxx 这个可和新东西还是老东西没什么关系, 更谈不上什么学习成本, 用 linux 时间长的, systemd 花点时间还弄不清楚就别玩了, 关键是理念问题, systemd 和其他程序的耦合程度太高, 它想做成一个无所不包的底层, 这样为了兼容一大堆程序,它势必会维护一堆的 patch(明明 A 程序没问题, 但是 A+systemd 就有问题了)

    当然日常随便用用自然不会觉得 systemd 有什么问题, 改几个 unit 的配置文件问题而已嘛, 但是在企业应用场合, sa 最关心的不是这东西的看起来有多强大,多先进, 而是系统的可见性对他是不是足够好.

    @Mdrights 你还别说, 我现在还真不喜欢 slackware 这种, lfs-->gentoo-->arch--->debian--> .....类似这种学习路径没大问题, 但 linux 终究只是个工具, 折腾过头就没意思了 , 我也是用了 linux 快 15 年的老用户, 已经不折腾好多年了 :)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3351 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 12:00 · PVG 20:00 · LAX 05:00 · JFK 08:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.