kali静态ip设置
Kali Linux的静态静态IP设置,本质上是设置在改三个文件:interfaces、dhclient.conf,静态或者直接动NetworkManager。设置但很多人卡在第一步——改了配置文件,静态重启网络服务后IP还是设置老样子。原因通常是静态Kali默认跑的是NetworkManager,它和/etc/network/interfaces是设置两套体系,你得先决定用哪套。静态
我自己的设置习惯是直接干掉NetworkManager,用ifupdown那套传统方式。静态理由很简单:在渗透测试或者搭实验环境时,设置传统方式更可控,静态不容易被桌面环境的设置网络管理工具悄悄改掉配置。先停掉NetworkManager:
systemctl stop NetworkManager systemctl disable NetworkManager 然后编辑/etc/network/interfaces。静态这里有个细节容易踩坑——Kali基于Debian,但默认网卡名可能是eth0也可能是ens33或者wlan0,先跑ip addr看清楚。假设你的网卡叫eth0,想设成192.168.1.100,网关192.168.1.1,DNS用8.8.8.8,那就这么写:
auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 写完保存,然后重启网络服务:systemctl restart networking。但这里有个烦人的地方——如果你之前用NetworkManager连过WiFi或者有线,系统里可能残留了它的连接配置,导致重启后还是被它接管。所以最干净的做法是重启整个系统,而不是只重启网络服务。
重启后跑ip addr show eth0,如果看到IP还是动态的,八成是NetworkManager没彻底禁掉,或者interfaces文件里写了allow-hotplug而不是auto。前者会在网卡热插拔时重新跑一遍DHCP,后者才是开机就加载静态配置。这个区别很多人不知道,我也是折腾了两次才明白。
如果你不想禁用NetworkManager,那就走它的路子——用nmcli命令改。先查看当前连接名:nmcli con show,然后修改:
nmcli con mod "Wired connection 1" ipv4.addresses 192.168.1.100/24 nmcli con mod "Wired connection 1" ipv4.gateway 192.168.1.1 nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8" nmcli con mod "Wired connection 1" ipv4.method manual nmcli con up "Wired connection 1" 这种方式的好处是即时生效,不用重启。但坏处是——如果你在虚拟机里用Kali,VMware或者VirtualBox的网卡有时候会搞出个Wired connection 1和Wired connection 2并存的情况,你改了第一个,系统实际用的是第二个。所以改完一定要nmcli con show --active确认当前哪个连接是激活的。
最后说个偏门但实用的场景:如果你在做无线渗透测试,把无线网卡设成静态IP要特别小心。因为很多攻击工具(比如airodump-ng)会强制把网卡切成monitor模式,这时候静态IP会失效,因为monitor模式压根不处理IP层。所以建议无线网卡保留DHCP,只在有线接口上做静态配置。别问我怎么知道的——上周我就在实验室里因为这个折腾了半小时,最后发现是网卡被工具切了模式。
静态IP配好后,测试连通性别光ping网关,还要ping一个外网地址,比如1.1.1.1。如果内网通外网不通,多半是DNS配置的问题,检查/etc/resolv.conf——有时候NetworkManager会覆盖这个文件,哪怕你禁用了它。这时候可以手动改这个文件,但记得加chattr +i /etc/resolv.conf防止被覆盖。这一步很多人不知道,但却是最实用的技巧之一。









