求推荐一本 Linux 网络管理相关的书,包含 iptables、路由, tcpdump 抓包等内容 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
JJstyle
V2EX    Linux

求推荐一本 Linux 网络管理相关的书,包含 iptables、路由, tcpdump 抓包等内容

  •  1
     
  •   JJstyle 2020-12-06 12:52:29 +08:00 via iPhone 4005 次点击
    这是一个创建于 1819 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天被 k8s 的一个网络问题(具体表现是不能在 worker 节点访问 service ip )折腾了半天,又是抓包又是配置 iptables 等等,糊里糊涂的…后来发现是默认网卡设置错了…

    谢谢。
    第 1 条附言    2020-12-06 16:47:01 +08:00

    问题算是完美解决了,这里记录一下希望能帮助有需要的人。

    问题产生的环境以及原因:virtualbox虚拟机,k8s: 1master 2worker,网络均使用host-only模式生成虚拟机节点IP,此IP不需要DHCP到宿主机的路由器,因此不会随着外部网络环境的变化而改变IP,但弊端是无法连接外部网络,于是楼主想到使用NAT模式来从虚拟机中访问外部网络环境。

    因此理想的情况是:

    集群内部网络 => 走 host-only网卡 外部网络 => 走 nat 网卡 

    在worker节点下执行 route -n查看路由表,我发现service ip(10.96.0.0/12)并不在这个路由表里,最终导致走了最后的host-only网卡,我们知道host-only网卡是连不到外部网络的,因此执行下面的操作,回归正常:

    # 如果目标IP不在路由表里,走这条路由(即外部网络,10.0.3.2 是nat的网关) route add default gw 10.0.3.2 dev enp0s8 # 目标是k8s service ip网段走host-only网卡(即下面的enp0s3) route add -net 10.96.0.0/12 dev enp0s3 

    简单测试一下:

    curl https://10.96.0.1 --insecure -vvv curl baidu.com -vvv 
    第 2 条附言    2020-12-06 16:55:28 +08:00

    ~~ 我发现service ip(10.96.0.0/12)并不在这个路由表里,最终导致走了最后的host-only网卡,我们知道host-only网卡是连不到外部网络的~~

    抱歉这部分说反了,实际是service ip 走了nat模式到外网寻找网络10.96.0.0/12去了,显然这样是找不到的。

    13 条回复    2020-12-07 15:55:19 +08:00
    learningman
        1
    learningman  
       2020-12-06 12:56:07 +08:00
    先自顶向下,然后去看文档吧
    CallMeReznov
        2
    CallMeReznov  
       2020-12-06 17:16:54 +08:00   1
    fasionchan
        3
    fasionchan  
       2020-12-06 18:36:26 +08:00   1
    收藏~

    等我有空将这些话题都整理一下,收录到语雀知识库: https://www.yuque.com/coding-fan/network
    zhoudaiyu
        4
    zhoudaiyu  
    PRO
       2020-12-07 09:00:14 +08:00
    iptables 不是 kube-proxy 自动生成的吗?为啥要配呢?
    lvzhiqiang
        5
    lvzhiqiang  
       2020-12-07 09:33:43 +08:00
    用 VMware Workstation, 网络访问方式 用 nat, 组一个私网。 能上外网又不会出现你说的那些莫名的问题。 你这样做只会引入复杂性,不容易排错和定位问题。
    JJstyle
        6
    JJstyle  
    OP
       2020-12-07 09:50:43 +08:00 via iPhone
    @lvzhiqiang 你说的这种应该就是 vb 里面的桥接模式吧,我刚开始也用这种,这个确实方便省事,但是有个缺陷就是 wifi 变了虚拟机 ip 也会变
    JJstyle
        7
    JJstyle  
    OP
       2020-12-07 10:16:54 +08:00
    @lvzhiqiang VMware Workstation 的 nat 模式是可以的,找了篇文章分析两个虚拟机软件的网络的区别,看来这个 nat 模式区别有点大: https://blog.csdn.net/lyjshen/article/details/69367245
    lvzhiqiang
        8
    lvzhiqiang  
       2020-12-07 10:19:45 +08:00
    @JJstyle nat 模式,不会变, 你只要配置 IP 为固定 IP 就可以了。 桥接模式也可以,IP 和你真实物理的局域网一个段,同样是配置固定 IP 就行。DHCP 只是自动获取 IP 而已。
    JJstyle
        9
    JJstyle  
    OP
       2020-12-07 10:21:44 +08:00
    @zhoudaiyu 所以我一开始方向就错了,iptables 没问题,往上找了篇博客,我跟他有类似的问题,但是他是改 iptables 解决的,https://wilhelmguo.cn/blog/post/william/Kubernetes-%E8%B8%A9%E5%9D%91%E8%AE%B0%E4%B9%8B-%E9%9B%86%E7%BE%A4node%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AEservice
    JJstyle
        10
    JJstyle  
    OP
       2020-12-07 10:24:33 +08:00
    @lvzhiqiang virtualbox 的 nat 和 vmware 的 nat 有些区别,即 vb 里的 nat,虚拟机互相无法通信(可以看我上面发到链接),所以我不能用他搭建集群网络。
    JJstyle
        11
    JJstyle  
    OP
       2020-12-07 10:26:42 +08:00
    @lvzhiqiang 固定 IP 这个我清楚,但是有时我在家,有时我在公司,网络不一样,所以 IP 无法固定
    lvzhiqiang
        12
    lvzhiqiang  
       2020-12-07 10:35:33 +08:00
    @JJstyle vmware 用 nat 就可以了。 我都是用 nat,搞了很多次部署配置实验了。
    lc7029
        13
    lc7029  
       2020-12-07 15:55:19 +08:00
    建议先系统学习 tcpip,吃透原理再来
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2211 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 01:03 PVG 09:03 LAX 17:03 JFK 20:03
    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