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=Значение, насколько я понял как раз за это и отвечает... =)
[Updated on: Wed, 02 May 2007 12:39]
Report message to a moderator