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