sbldehanhan
V2EX  ›  Ubuntu

用 ifconfig 命令设置 IP 后 ping 不通局域网内其他主机

  •  
  •   sbldehanhan · Mar 8, 2024 · 2703 views
    This topic created in 828 days ago, the information mentioned may be changed or developed.

    局域网所有主机都连到同一个路由器,开始都是通过 dhcp 自动分配的 IP 。通过 ifconfig 给一台 Ubuntu 设置自己写的跟原来同一网段的 IP 后,这台主机就 ping 不同其他任何主机了。不通过 ifconfig ,而是通过 UI 界面设置后就可以。咋回事呢?

    16 replies    2024-03-08 16:31:30 +08:00
    winterx
        1
    winterx  
       Mar 8, 2024
    1 、ifconfig 配置错误
    2 、IP 重复
    jasonyang9
        2
    jasonyang9  
       Mar 8, 2024 via Android
    ifconfig 命令贴出来,话说现在都是 iproute2 了应该用 ip addr

    ip a
    ip r
    ip rule
    这几个的结果贴出来
    sbldehanhan
        3
    sbldehanhan  
    OP
       Mar 8, 2024
    @jasonyang9 #2
    ```
    sudo ifconfig wlx08beac2cae9e 192.168.3.90/24
    ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:dc:da:bd brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 172.16.74.183/24 brd 172.16.74.255 scope global dynamic noprefixroute ens33
    valid_lft 85449sec preferred_lft 85449sec
    inet6 fe80::ccba:fdb7:7553:b7f8/64 scope link noprefixroute
    valid_lft forever preferred_lft forever
    3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:b9:76:47:4c brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
    valid_lft forever preferred_lft forever
    4: wlx08beac2cae9e: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 08:be:ac:2c:ae:9e brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.90/24 brd 192.168.3.255 scope global noprefixroute wlx08beac2cae9e
    valid_lft forever preferred_lft forever
    inet6 fe80::7dcb:b1d5:b824:c79e/64 scope link noprefixroute
    valid_lft forever preferred_lft forever

    ~ ip r
    default via 172.16.74.1 dev ens33 proto dhcp metric 100
    169.254.0.0/16 dev ens33 scope link metric 1000
    172.16.74.0/24 dev ens33 proto kernel scope link src 172.16.74.183 metric 100
    172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

    ~ ip rule
    0: from all lookup local
    32766: from all lookup main
    32767: from all lookup default
    ```
    churchmice
        4
    churchmice  
       Mar 8, 2024
    你看看,ip route 里面压根就没有你这路由
    sbldehanhan
        5
    sbldehanhan  
    OP
       Mar 8, 2024
    @churchmice #4 所以,用 ifconfig 每次都需要手动添加路由吗?正确的做法是什么呢?之前配完 IP 用 sudo route add default gw 192.168.3.1 配网关的时候报网络不可达。
    wheat0r
        6
    wheat0r  
       Mar 8, 2024
    @sbldehanhan #5 原则上你的需求只需要直连路由,而直连路由不需要配置。
    但是你的路由表里连直连路由都没有。
    cctv6
        7
    cctv6  
       Mar 8, 2024
    现在 2024 年了,除非非常老的发行版,可能会用到 ifconfig 。
    除此以外都应该用系统推荐的方式来配置 IP 。比如 ip \ nmcli \ netplan 这些工具来配置。
    leonshaw
        8
    leonshaw  
       Mar 8, 2024
    noprefixroute
    NessajCN
        9
    NessajCN  
       Mar 8, 2024
    sudo ip route add default via 192.168.3.1
    vituralfuture
        10
    vituralfuture  
       Mar 8, 2024 via Android
    network manager 专门做这事的,不要自己用 ip 命令或者 ifconfig 命令配置
    sbldehanhan
        11
    sbldehanhan  
    OP
       Mar 8, 2024
    @wheat0r #6 是。但是我想知道为什么会出现这种情况。
    sbldehanhan
        12
    sbldehanhan  
    OP
       Mar 8, 2024
    @NessajCN #9 我用 ifconfig 配完 ip ,用这个命令添加网关,说是这个 3.1 不可达。
    sbldehanhan
        13
    sbldehanhan  
    OP
       Mar 8, 2024
    @cdlnls #7 嗯,的确用 ip addr add 是没有问题的。之前一直用 ifconfig ,习惯了,看来得换换了。
    guanzhangzhang
        14
    guanzhangzhang  
       Mar 8, 2024
    ip addr add xxx/xx dev xxx
    ip route add xxx dev xxx
    leonshaw
        15
    leonshaw  
       Mar 8, 2024
    其它网络工具通过 rtnl 添加了带 noprefixroute 标志的地址,并(可能)加了直连路由。ifconfig 通过老的 ioctl 接口改地址,没有这个字段,所以保留了原来的标志,改地址过程中先删除原地址,直连路由(如果之前有)随之撤销。
    换 iproute2 ,或者用 ifconfig 先删再加。
    pheyx
        16
    pheyx  
       Mar 8, 2024
    是无线网卡吧。先连到无线路由再用 ip address 或 ifconfig
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3048 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 13:54 · PVG 21:54 · LAX 06:54 · JFK 09:54
    ♥ Do have faith in what you're doing.