公网eth0
私网eth1
以前私网是接的192.168.10网段的,vlan id为10
现在想把私网在保留原来10网段的同时,还想加一个192.168.240网段,vlan id为240
其实这个题目的答案非常简单
就是用vconfig嘛
vconfig add eth1 10
vconfig add eth1 240
然后再ifconfig eth1.10配ip,ifconfig eth1.240配ip地址,用vconfig大家应该都差不多能解决这个问题。
其实,我觉得这两种模式没什么区别。 但是,按照目前内核本身的这个结构(VLAN的),TAG是在“网卡驱动”中压入的。也就是在vlan的虚拟网卡中处理的。这也就是在协议栈之后了。 2种方法 1:在netfilter的时候,选择一个对应tag的正确的出接口 2:在netfilter的时候,给skb做个标记,在vlan的vlan_dev_hard_start_xmit中的skb = __vlan_put_tag(skb, veth_TCI)传入标记,取代veth_TCI。NETIF_F_HW_VLAN_CTAG_RX 和 NETIF_F_HW_VLAN_CTAG_TX 是 Linux 网卡驱动中的两个标志位,用于指示网卡是否支持 VLAN 软件处理。
NETIF_F_HW_VLAN_CTAG_RX 标志位指示网卡是否支持硬件剥离 VLAN 标签,这意味着网卡可以在接收数据包时在硬件层面上剥离 VLAN 标签。
NETIF_F_HW_VLAN_CTAG_TX 标志位指示网卡是否支持硬件打上 VLAN 标签,这意味着网卡可以在发送数据包时在硬件层面上打上 VLAN 标签。
如果这两个标志位都被置为了 1,那么这意味着网卡支持硬件 VLAN 处理。如果这两个标志位都被置为了 0,那么这意味着网卡不支持硬件 VLAN 处理,需要通过软件来实现 VLAN 的处理。
这两个标志位的设置通常是在网卡驱动中进行的,不能通过命令行直接设置。如果您想要查看网卡的 VLAN 支持状态,可以使用命令 "ethtool -k <interface>" 来查看该网卡的硬件特性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)