如何在 Linux 上以正确的方式更改 IP 地址?

如何在 Linux 上以正确的方式更改 IP 地址?

我正在和 wheezy 一起工作。

我已经配置了 /etc/network/interfaces 文件,以便 wlan 从 dhcp 服务器获取 ip 地址。

之后我在接口文件中设置了一个不同的静态 IP 地址。

第一个问题:每次我重启机器时,它总是会获取旧地址,即 dhcp 服务器为其分配的地址。我尝试从 /var/lib/dh​​cp/*leases 中删除租约,但当机器重启时,租约文件会重新出现,其中还会包含旧租约。

第二个问题:如果我强制使用接口上的 ifconfig 更改 ip 地址,它可以工作,但我在同一个 wlan 上有 2 个不同的 ip 地址,一个是新 ip 地址,另一个是 dhcp 服务器提供的 ip 地址。

有什么办法可以解决这些问题吗?

上次配置:

 auto lo eth0
 iface lo inet loopback

 iface eth0 inet static
    address 192.168.1.150
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    #gateway 192.168.1.10

    post-up route add default gw 192.168.1.10 eth0
    pre-down route del default gw 192.168.1.10 eth0


  allow-hotplug wlan2
  auto wlan2
 iface wlan2 inet manual
    #wireless-essid "dlink"
    address 192.168.1.130
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    #gateway 192.168.1.20

    pre-up wpa_supplicant -B w -D wext -i wlan2 -c /etc/wpa_supplicant/wpa_$
    post-down killall -q wpa_supplicant

    post-up route add default gw 192.168.1.20 wlan2
    pre-down route del default gw 192.168.1.20 wlan2

    iface default inet dhcp

wpa_请求者:

 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
 update_config=1

network={
    ssid="dlink"
    proto=WPA RSN
    key_mgmt=WPA-PSK
    pairwise=CCMP TKIP
    group=CCMP TKIP
    psk=wpapassword
}

这里是 ifconfig -a 输出:

eth0      Link encap:Ethernet  HWaddr c8:a0:30:b2:8c:89
      inet addr:192.168.1.150  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::caa0:30ff:feb2:8c89/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:3967 errors:0 dropped:2 overruns:0 frame:0
      TX packets:3202 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:442495 (432.1 KiB)  TX bytes:345005 (336.9 KiB)
      Interrupt:56

lo        Link encap:Local Loopback
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:65536  Metric:1
      RX packets:2 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:190 (190.0 B)  TX bytes:190 (190.0 B)

wlan2     Link encap:Ethernet  HWaddr 80:1f:02:9b:bd:bf
      inet addr:192.168.1.77  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::821f:2ff:fe9b:bdbf/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:962 errors:0 dropped:0 overruns:0 frame:0
      TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:135034 (131.8 KiB)  TX bytes:3622 (3.5 KiB)

答案1

您应该在文件中添加所需的 IP 地址dhclient.conf。阅读手册页的示例部分这里

您需要添加以下内容

alias {
  interface "wlan0";
  fixed-address 192.5.5.213;
}

dhclient在读取任何其他配置文件之前,将会读取此文件。

如果您在命令行上手动设置了您的 IP 地址,您可以告诉dhclient -r在设置新的 IP 地址之前释放租约。

阅读更多内容dhclient 这里

相关内容