Example Новые Сюда

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
example:example_новые_сюда [24.04.2017 05:05]
admin создано
example:example_новые_сюда [20.05.2019 15:18] (текущий)
Строка 1: Строка 1:
 +Новые сюда НЕ Надо пишем сразу в статью если нет прав то в комент к статье в готовом формате
 <code bash> <code bash>
-# Новые примеры добавляем сюда, админ отсортирует +# Новые примеры добавляем сюда, админ отсортирует
-</​code>​+# статья начинается с # 
 +# теги тройной ### 
 +# статья оканчивается пустой строкой 
 +# если нужна пустая строка ставьте пробел и рекомендуется тогда ставить две пустых строки в конце строки. 
 +# Пример:​ 
 + 
 +# вывод списка файлов ###ls ###dir ###tag3 ###tag4 
 +ls 
 + 
 +# смена каталога ###cd ###tag2 ###tag3 
 +cd 
 +</​code>​## 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~~