在manjaro中开启多VLAN,配置永久静态IP,使用systemd-networkd配置

网络交换机给接入口配置的Trunk口,可以接入多个VLAN,安装好系统后不能上网。这里使用systemd-networkd进行配置,也可以利用iproute2或netctl配置。

打开终端输入 ip addr 查看网络状况

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: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 0***1 brd ff:ff:ff:ff:ff:ff


此例中网卡接口名称为‘enp4s0’,请根据自己的实际情况进行修改。


停止网卡服务:

sudo ifcfg enp4s0 stop
sudo ip link set enp4s0 down
sudo ip addr flush enp4s0

sudo ip link set enp4s0 up

禁用DHCP客户端后台驻留程序和网络管理器服务:

#关闭dhcp服务,重启后会自动开启

sudo systemctl stop dhcpcd

#禁用DHCP服务,重启后不会开启
sudo systemctl disable dhcpcd

#关闭网络管理服务,在manjaro桌面的右下脚不能通过图形界面管理网络。

sudo systemctl stop NetworkManager

#禁用网络管理服务,
sudo systemctl disable NetworkManager

重启网络
sudo systemctl restart systemd-networkd

启用 systemd-networkd。

    $ sudo systemctl disable NetworkManager
    $ sudo systemctl enable systemd-networkd

你还要启用 systemd-resolved 服务,systemd-networkd用它来进行域名解析。该服务还实现了一个缓存式 DNS 服务器。

    $ sudo systemctl enable systemd-resolved
    $ sudo systemctl start systemd-resolved

当启动后,systemd-resolved 就会在 /run/systemd 目录下某个地方创建它自己的 resolv.conf。但是,把 DNS 解析信息存放在 /etc/resolv.conf 是更普遍的做法,很多应用程序也会依赖于 /etc/resolv.conf。因此为了兼容性,按照下面的方式创建一个到 /etc/resolv.conf 的符号链接。

    $ sudo rm /etc/resolv.conf
    $ sudo ln -s /run/systemd/resolve/resolv.conf  /etc/resolv.conf

 

在/etc/systemd/network/目录下空目录,在这个文件夹下面添加网络配置文件,下面的100,200为VLAN号配置规则如下:例如
网卡接口是 enp4s0,  enp4s0.100 表示vlan id 为100.

/etc/systemd/network/目录一般要添加如下三个文件,如果要添加多个VLAN,则后面两个文件也要相对应的添加上去

enp4s0.network    #enp4s0为网卡名

enp4s0.100.netdev  #enp4s0为网卡名,100为VLAN id

enp4s0.100.network   #配置VLAN的ip,enp4s0为网卡名,100为VLAN id

 

sudo nano /etc/systemd/network/enp4s0.network

[Match]
Name=enp4s0

[Network]
DHCP=ipv4
;these are arbitrary names, but must match the *.netdev and *.network files
VLAN=enp4s0.100
VLAN=enp4s0.200

sudo nano /etc/systemd/network/enp4s0.100.netdev

[NetDev]
Name=enp4s0.100
Kind=vlan

[VLAN]
Id=100

sudo nano /etc/systemd/network/enp4s0.200.netdev

[NetDev]
Name=enp4s0.200
Kind=vlan

[VLAN]
Id=200

VLAN下的IP地址设置

sudo nano /etc/systemd/network/enp4s0.100.network

[Match]
Name=enp4s0.100

[Network]
DHCP=no

[Address]
Address=192.168.0.25/24

sudo nano /etc/systemd/network/enp4s0.200.network

[Match]
Name=enp4s0.200

[Network]
DHCP=yes

[DHCP]
UseRoutes=false


添加DNS
sudo nano /etc/resolv.conf
添加
nameserver 8.8.8.8

 

所有配置完成后,重启网络即可
sudo systemctl restart systemd-networkd

用   ip addr    命令查看

 

[abcd@abcd-pc Desktop]$ ip addr
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: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 4**41 brd ff:ff:ff:ff:ff:ff
3: enp4s0.100@enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00**1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.25/24 brd 192.168.0.255 scope global enp4s0.100
       valid_lft forever preferred_lft forever
    inet6 fe***4 scope link
       valid_lft forever preferred_lft forever

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值