Linux下vlan配置除了vconfig还需要什么????????

时间:2022-08-25 16:22:14
要配置一个vlan端口, 
除了vconfig add eth0 xxx 
以外,还需要做什么配置吗? 

交换机已经配好

17 个解决方案

#1


如果需要bridge,还可把该接口加到bridge下
ifconfig eth0.xx up
brctl addbr br0
brctl addif br0 eth0.xxx

#2


谢谢ls的回复
我这个好像不用bridge

我用vconfig设过之后,用ifconfig -a看了一下是有的

但是就是没法和同一个VLAN的机器ping通

截了一下包,里面的确没有vlan tag,不知道还需要设置什么?

#3


接口存在但没有VLAN tag应该不可能吧,是不是抓的不是eth0.xxx的接口。先用非vlan的接口
试试那两个机器通不通。再排除防火墙因素。

#4


非vlan的接口,两台机器是可以通的,两台都是Linux,也没有防火墙吧

是不是理论上vconfig之后,发出来的包就应该有vlan tag了? 
需要给我的eth0.xxx再设置一个IP吗?

#5


eth0.xxx模拟的就是一个物理接口,当然需要有自己的IP
#if config eth0.xxx a.b.c.d up
另外也检查路由是否正确

#6


谢谢,我试一下

确认一下
我用ifconfig eth0.xxx a.b.c.d up 
设置之前,是不是应该先把eth0的IP设掉?



ifconfig eth0 0.0.0.0

ifconfig eth0.xxx a.b.c.d up

#7


只要路由正确,会从eth0.xxx接口出去的,不需要对eth0操作。如果eth0存在,则不要用同一网段的IP。
#route 命令查看路由是否正确

#8


我route的结果是:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
128.168.0.0     *               255.255.255.0   U     0      0        0 eth1
192.168.0.0     *               255.255.0.0     U     0      0        0 eth0
192.168.0.0     *               255.255.0.0     U     0      0        0 eth0.500

应该是对的吧

eth0和eth0.500不能设一样的IP吗?我原来是设的一样的,不过现在设成不一样的好像也不行

#9


你的192.168.0.x的包从eth1接口出去了,你直接这样吧
#ifconfig eth1 down
#ifconfig eth0 down

#10


错了,只需要#ifconfig eth1 down即可

#11


我那个eth1不能down哦,有别的用处的

#12


如果不能down eth1,则eth0.501不能和eth1,eth0同一网段

#13


还是不行

我ping的时候,用ping -I eth0.500 xxx.xxx.xxx.xxx  对不对?

#14


可以的

#15


还是不行……

我现在 eth0 (物理网卡)设了IP 0.0.0.0
      eth0.500 (VLAN虚拟网卡)设了 192.168.100.33

如果我想用eth0.500来发包,应该怎样设置?或者应该写点什么程序吗?

#16


会不会是COS设置有问题呢
用vconfig set_egress_map eth0.500 256 1
  vconfig set_ingress_map eth0.500 256 1

说实话skb_priority这个参数我不是很理解,就随便写了一个256

#17


又实验了一下,感觉现在eth0和eth0.500都被机器使用了,机器好像分不清eth0和eth0.500了

怎样可以让机器之认eth0.500?

#1


如果需要bridge,还可把该接口加到bridge下
ifconfig eth0.xx up
brctl addbr br0
brctl addif br0 eth0.xxx

#2


谢谢ls的回复
我这个好像不用bridge

我用vconfig设过之后,用ifconfig -a看了一下是有的

但是就是没法和同一个VLAN的机器ping通

截了一下包,里面的确没有vlan tag,不知道还需要设置什么?

#3


接口存在但没有VLAN tag应该不可能吧,是不是抓的不是eth0.xxx的接口。先用非vlan的接口
试试那两个机器通不通。再排除防火墙因素。

#4


非vlan的接口,两台机器是可以通的,两台都是Linux,也没有防火墙吧

是不是理论上vconfig之后,发出来的包就应该有vlan tag了? 
需要给我的eth0.xxx再设置一个IP吗?

#5


eth0.xxx模拟的就是一个物理接口,当然需要有自己的IP
#if config eth0.xxx a.b.c.d up
另外也检查路由是否正确

#6


谢谢,我试一下

确认一下
我用ifconfig eth0.xxx a.b.c.d up 
设置之前,是不是应该先把eth0的IP设掉?



ifconfig eth0 0.0.0.0

ifconfig eth0.xxx a.b.c.d up

#7


只要路由正确,会从eth0.xxx接口出去的,不需要对eth0操作。如果eth0存在,则不要用同一网段的IP。
#route 命令查看路由是否正确

#8


我route的结果是:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
128.168.0.0     *               255.255.255.0   U     0      0        0 eth1
192.168.0.0     *               255.255.0.0     U     0      0        0 eth0
192.168.0.0     *               255.255.0.0     U     0      0        0 eth0.500

应该是对的吧

eth0和eth0.500不能设一样的IP吗?我原来是设的一样的,不过现在设成不一样的好像也不行

#9


你的192.168.0.x的包从eth1接口出去了,你直接这样吧
#ifconfig eth1 down
#ifconfig eth0 down

#10


错了,只需要#ifconfig eth1 down即可

#11


我那个eth1不能down哦,有别的用处的

#12


如果不能down eth1,则eth0.501不能和eth1,eth0同一网段

#13


还是不行

我ping的时候,用ping -I eth0.500 xxx.xxx.xxx.xxx  对不对?

#14


可以的

#15


还是不行……

我现在 eth0 (物理网卡)设了IP 0.0.0.0
      eth0.500 (VLAN虚拟网卡)设了 192.168.100.33

如果我想用eth0.500来发包,应该怎样设置?或者应该写点什么程序吗?

#16


会不会是COS设置有问题呢
用vconfig set_egress_map eth0.500 256 1
  vconfig set_ingress_map eth0.500 256 1

说实话skb_priority这个参数我不是很理解,就随便写了一个256

#17


又实验了一下,感觉现在eth0和eth0.500都被机器使用了,机器好像分不清eth0和eth0.500了

怎样可以让机器之认eth0.500?