Virtual Ethernet device
Virtual ethernet device is ethernet device which can be used inside a VE. Unlike venet network device, veth device has a MAC address.
Virtual ethernet device consist of two ethernet devices - one in VE0 and another one in VE. These devices are connected to each other, so if a packet goes to one device it will come out from the other device.
Virtual ethernet device usage
Adding veth to a VE
vzctl set <VEID> --veth_add <dev_name>,<dev_addr>,<ve_dev_name>,<ve_dev_addr>
- dev_name is ethernet device name in the host system
- dev_addr is its MAC address
- ve_dev_name is an ethernet device name in the VE
- ve_dev_addr is its MAC address
MAC addresses must be entered in XX:XX:XX:XX:XX:XX format. Note that this option is incremental, so devices are added to already existing ones.
Removing veth from a VE
vzctl set <VEID> --veth_del <dev_name>
Here dev_name is the ethernet device name in the host system.
Common configurations with virtual ethernet devices
Virtual ethernet device can be used with IPv6
You'll need to setup IPv6 address on ethernet device inside a VE, add default route inside a VE and add route to this address via host-side veth in host system. Do not forget to enable forwarding and proxy_arp on host-side veth device.
Virtual ethernet devices can be joined in one bridge
Thus you'll have more convinient configuration, i.e. all routes to VEs will be through this bridge and VEs can communicate with each other even without these routes.
Virtual ethernet devices + VLAN
This configuration can be done by adding vlan device to the previous configuration.