OpenVZ Forum


Home » International » Russian » Жесткая настройка сети
Re: Жесткая настройка сети [message #12541 is a reply to message #12528] Wed, 02 May 2007 12:13 Go to previous messageGo to previous message
Shursander is currently offline  Shursander
Messages: 21
Registered: March 2007
Junior Member
uname -a
Linux vm.local.net 2.6.18-ovz028stab027.1-smp #1 SMP Mon Apr 9 16:19:53 MSD 2007 x86_64 x86_64 x86_64 GNU/Linux

Где то в вики (openvz) читал что можно для настройки сети использовать vznet.conf с таким содержанием ...
#!/bin/bash
EXTERNAL_SCRIPT="/usr/sbin/vznetaddroute"

содержание vznetaddroute
#!/bin/sh
#
#

VZCONFDIR=/etc/vz
VZHOSTIF=$BASH_ARGV
VZNETCFG=$VZCONFDIR/conf/$VEID.conf

[ -f ${VZNETCFG} ] && source ${VZNETCFG}

if [[ -n "${VETH_IP_ADDRESS_LAN}" && $VZHOSTIF = "veth$VEID.0" ]]; then
    echo "Adding interface $VZHOSTIF and route $VETH_IP_ADDRESS for VE$VEID to VE0"
    /sbin/ifconfig $VZHOSTIF 0
    echo 1 > /proc/sys/net/ipv4/conf/$VZHOSTIF/proxy_arp
    echo 1 > /proc/sys/net/ipv4/conf/$VZHOSTIF/forwarding
    echo 1 > /proc/sys/net/ipv4/conf/eth0/forwarding
    echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
    /sbin/ip route add $VETH_IP_ADDRESS_LAN dev $VZHOSTIF
    vzctl exec $VEID /sbin/ifconfig eth0 $VETH_IP_ADDRESS_LAN/19
    vzctl exec $VEID /sbin/route add default gw 192.168.0.1
    /sbin/iptables -A FORWARD -i eth0 -o $VZHOSTIF -d $VETH_IP_ADDRESS_LAN -j ACCEPT
    /sbin/iptables -A FORWARD -o eth0 -i $VZHOSTIF -s $VETH_IP_ADDRESS_LAN -j ACCEPT
fi

if [[ -n "${VETH_IP_ADDRESS_WAN}" && $VZHOSTIF = "veth$VEID.1" ]]; then
    echo "Adding interface $VZHOSTIF and route $VETH_IP_ADDRESS_WAN for VE$VEID to VE0"
    /sbin/ifconfig $VZHOSTIF 0
    echo 1 > /proc/sys/net/ipv4/conf/$VZHOSTIF/proxy_arp
    echo 1 > /proc/sys/net/ipv4/conf/$VZHOSTIF/forwarding
    echo 1 > /proc/sys/net/ipv4/conf/eth0/forwarding
    echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
    /sbin/ip route add $VETH_IP_ADDRESS_WAN dev $VZHOSTIF
    vzctl exec $VEID /sbin/ifconfig eth1 $VETH_IP_ADDRESS_WAN/28
    vzctl exec $VEID /sbin/route del default
    vzctl exec $VEID /sbin/route add default gw 10.10.10.1
    /sbin/iptables -A FORWARD -i eth1 -o $VZHOSTIF -d $VETH_IP_ADDRESS_WAN -j ACCEPT
    /sbin/iptables -A FORWARD -o eth1 -i $VZHOSTIF -s $VETH_IP_ADDRESS_WAN -j ACCEPT
fi

Вроде все нормально...

И добавил в vps-stop
#!/bin/bash
#  Copyright (C) 2000-2007 SWsoft. All rights reserved.
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
#
# This script does clean up after VE shutdown
#
# Parameters are passed in environment variables.
# Required parameters:
#   VEID    - VE id
#   IP_ADDR - VE IP address(es) divided by spaces

. /usr/lib64/vzctl/scripts/vps-functions

# get list of network devices for vzarp
vzgetnetdev

# Add here
vzcheckvar VEID

VZCONFDIR=/etc/vz
VZNETCFG=$VZCONFDIR/conf/$VEID.conf

[ -f ${VZNETCFG} ] && source ${VZNETCFG}

if [ -n "${VETH_IP_ADDRESS_LAN}" ]; then
    echo "Remove route $VETH_IP_ADDRESS for VE$VEID"
    /sbin/iptables -D FORWARD -i eth0 -o veth$VEID.0 -d $VETH_IP_ADDRESS_LAN -j ACCEPT
    /sbin/iptables -D FORWARD -o eth0 -i veth$VEID.0 -s $VETH_IP_ADDRESS_LAN -j ACCEPT
fi

if [ -n "${VETH_IP_ADDRESS_WAN}" ]; then
    echo "Remove route $VETH_IP_ADDRESS_WAN for VE$VEID"
    /sbin/iptables -D FORWARD -i eth1 -o veth$VEID.1 -d $VETH_IP_ADDRESS_WAN -j ACCEPT
    /sbin/iptables -D FORWARD -o eth1 -i veth$VEID.1 -s $VETH_IP_ADDRESS_WAN -j ACCEPT
fi
# End Add

for IP in $IP_ADDR; do
        vzdelrouting $IP
        vzarp del $IP
done
exit 0
# end of script



Все это отрабатывает на ура...
Но вот очередной вопрос может это конечно глюк может мои кривые руки...
Но при запуске iptables на хост машине (VE102) почему то из файла берутся не все строки... т.е. 10 строк отрабатывается нормально а с 11 начинаются проблемы....

При попытке добавить (11 строка в файле)
iptables -A INPUT -s 192.168.1.15 -p tcp --dport ftp -j ACCEPT
пишет
iptables: Unknown error 18446744073709551615

Хотя такую строку отработал нормально (10 строка)...
iptables -A INPUT -s 192.168.5.14 -p tcp --dport ftp -j ACCEPT


Последний вопрос снимается ))) чтение документации помогает в понимании ))) NUMIPTENT=Значение, насколько я понял как раз за это и отвечает... =)


http://www.korpuskula.ru/images/sh/sh-image.gif

[Updated on: Wed, 02 May 2007 12:39]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Скорость 2.6.20.ovz в VirtualBox
Next Topic: Проблема при компиляции php-5.2.1
Goto Forum:
  


Current Time: Tue Jul 23 03:22:28 GMT 2024

Total time taken to generate the page: 0.04155 seconds