前言
笔者最近有幸可以重新用回
ArchLinux
。不过这一次是把ArchLinux
用作服务器系统。既然是服务器,那么IP应该是固定的才对,所以想要把ArchLinux
的上网方式由DHCP
改成Static
。聪明的你或许可以通过查看官方WiKi来获得正确答案,由于个人比较愚笨试了WiKI中的几种方法都会有各种问题。经过不懈努力终于发现ArchLinux
自带的systemd-networkd
服务就可以设置静态IP。
查看服务是否开启
执行以下命令查看
systemd-networkd
服务是否启动:
1 | sudo systemctl status systemd-networkd |
添加配置文件
首先执行以下命令查看网卡名称:
1 | ip add // 或者 ifconfig |
如图可见我的网卡名称是:
enp1s0
,所以我们在在/etc/systemd/network
目录下添加配置文件10-static-enp1s0.network
:
1 | [Match] |
把
enp1s0
改成你的网卡名称,10.0.0.128
改成你对应的内网IP,10.0.0.1
改成你内网的网关即可。
重启
执行以下命令把服务加入开机自启:
1 | sudo systemctl reenable systemd-networkd |
然后重启即可。
1 | sudo reboot |
查看IP
执行以下命令查看IP是否为设定的IP:
1 | ip addr // 或者 ifconfig |
附注
笔者今天重新安装了
ArchLinux
的衍生版 ——Manjaro
后发现了一个小问题:重启后IP又变回了动态IP。再三思量以及寻找已经安装的包,终于发现了是networkmanager
包(安装wm
会自带这个包)的锅。只要卸载就可以了。
1 | sudo pacman -Rsn `pacman -Qsq networkmanager` network-manager-applet |
大功告成
至此,本篇文章就结束啦,希望本文对大家有帮助。