Здравствуйте! Вот устройство на HN, которое требуется пробросить в VE: [root@m0 ~]# ip a show dev eth2 10: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:13:46:e7:d2:1d brd ff:ff:ff:ff:ff:ff inet6 fe80::213:46ff:fee7:d21d/64 scope link valid_lft forever preferred_lft forever Проверяю, что оно действительно работает: [root@m0 ~]# ip addr add 192.168.15.111/24 dev eth2 [root@m0 ~]# ip route add 192.168.15.11 dev eth2 [root@m0 ~]# ping -c 1 192.168.15.11 PING 192.168.15.11 (192.168.15.11) 56(84) bytes of data. 64 bytes from 192.168.15.11: icmp_seq=1 ttl=64 time=2.88 ms --- 192.168.15.11 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 2.889/2.889/2.889/0.000 ms Возвращаю настройки обратно: [root@m0 ~]# ip route del 192.168.15.11 dev eth2 [root@m0 ~]# ip addr del 192.168.15.111/24 dev eth2 Создаю соответствующее ему veth-устройство: # vzctl set 101 --veth_add veth0,00:13:46:e7:d2:1d,eth0,00:12:34:56:78:9A --save Processing veth devices Saved parameters for VE 101 Конфигурирую оба: [root@m0 ~]# ifconfig eth2 0 [root@m0 ~]# ifconfig veth0 0 [root@m0 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth2/proxy_arp [root@m0 ~]# echo 1 > /proc/sys/net/ipv4/conf/veth0/proxy_arp [root@m0 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth2/forwarding [root@m0 ~]# echo 1 > /proc/sys/net/ipv4/conf/veth0/forwarding Теперь иду внутрь VE и конфигурирую eth0 там: [root@m0 ~]# vzctl enter 101 entered into VE 101 [root@localhost /]# ip addr show dev eth0 13: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop link/ether 00:12:34:56:78:9a brd ff:ff:ff:ff:ff:ff [root@localhost /]# ip link set eth0 up [root@localhost /]# ip addr add 192.168.15.111/32 dev eth0 [root@localhost /]# ip route add 192.168.15.11 dev eth0 И вижу, что ничего не работает: [root@localhost /]# ping 192.168.15.11 PING 192.168.15.11 (192.168.15.11) 56(84) bytes of data. --- 192.168.15.11 ping statistics --- 1 packets transmitted, 0 received, 100% packet loss, time 0ms Что я делаю неправильно? Правильно ли я вообще понимаю логику: 1. В HN создать veth-устройство, связать его с физическим eth-устройством, для обеих включить proxy_arp и forwarding 2. В VE или в HN настроить внутреннее eth-устройство Может надо делать иначе?
Если вы хотите пробросить интерфейс внутрь VPS, то это делается командой vzctl set VEID ----netdev_add NAME После этого этот интерфейс переместится внутрь VPS и будет доступен только там. veth - это виртуальная пара сетевых интерфейсов, один из интерфейсов находится в VE0, второй - в VPS. При помощи veth можно делать разные конфигурации. Подробнее об этом можно посмотреть тут http://wiki.openvz.org/Virtual_Ethernet_device