Новые сюда НЕ Надо пишем сразу в статью если нет прав то в комент к статье в готовом формате

# Новые примеры добавляем сюда, админ отсортирует.
# статья начинается с #
# теги тройной ###
# статья оканчивается пустой строкой
# если нужна пустая строка ставьте пробел и рекомендуется тогда ставить две пустых строки в конце строки.
# Пример:
 
# вывод списка файлов ###ls ###dir ###tag3 ###tag4
ls
 
# смена каталога ###cd ###tag2 ###tag3
cd

## OpenVZ

### Избавиться от default route на venet0

Нужно для выстраивания виртуальных сетей сложнее чем просто выход в инет.

Для использования в качестве виртуалки-роутера нужно:

1. удалить IP из ct.conf 2. прописать в ct.conf `EXTERNAL_SCRIPT=«/usr/sbin/vznetaddbr»` 3. стартануть виртуалку и выпилить venet0 из GATEWAYDEV и GATEWAYDEVIPv6 в /etc/sysconfig/network. 4. добавить сетёвки в другие бриджи при необходимости. 5. включить в /etc/sysctl.conf ip_forward=1 6. для работы NAT в ct.conf виртуалки указать `NETFILTER=«full»` Враппер для добавления сетёвок в бриджи:

``` #!/bin/bash

set -eu [ «$#» != 3 ] && echo 'usage: add2br.sh centos_gate br1 eth1' && exit 1 vm=$1 bridge=$2 eth=$3 set -x vzctl set $vm –netif_add $eth,,,,$bridge –save ```

И `vznetaddrbr`:

``` #!/bin/sh # # Add virtual network interfaces (veth's) in a container to a bridge on CT0

CONFIGFILE=/etc/vz/conf/$VEID.conf . $CONFIGFILE

NETIFLIST=$(printf %s «$NETIF» |tr ';' '\n')

if [ -z «$NETIFLIST» ]; then

 echo >&2 "According to $CONFIGFILE, CT$VEID has no veth interface configured."
 exit 1

fi

for iface in $NETIFLIST; do

  bridge=
  host_ifname=
  for str in $(printf %s "$iface" |tr ',' '\n'); do
  case "$str" in
 bridge=*|host_ifname=*)
      eval "${str%%=*}=\${str#*=}" ;;
  esac
  done
  [ "$host_ifname" = "$3" ] ||
  continue
  [ -n "$bridge" ] ||
  bridge=vmbr1
  echo "Adding interface $host_ifname to bridge $bridge on CT0 for CT$VEID"
  ip link set dev "$host_ifname" up
  ip addr add 0.0.0.0/0 dev "$host_ifname"
  echo 1 >"/proc/sys/net/ipv4/conf/$host_ifname/proxy_arp"
  echo 1 >"/proc/sys/net/ipv4/conf/$host_ifname/forwarding"
  brctl addif "$bridge" "$host_ifname"
  break

done

exit 0 ```

В противном случае не избавиться от default route через venet0.

~~OWNERAPPROVE~~