mirror of
https://github.com/YunoHost/package_check.git
synced 2024-09-03 20:06:20 +02:00
Interface réseau non fixe
This commit is contained in:
parent
4c1bb8c4bc
commit
8b1ae1f3f2
6 changed files with 70 additions and 40 deletions
|
@ -134,6 +134,18 @@ USER_TEST=package_checker
|
|||
PASSWORD_TEST=checker_pwd
|
||||
PATH_TEST=/check
|
||||
LXC_NAME=$(cat "$script_dir/sub_scripts/lxc_build.sh" | grep LXC_NAME= | cut -d '=' -f2)
|
||||
if [ -e "$script_dir/config" ]; then
|
||||
main_iface=$(cat "$script_dir/config" | grep iface= | cut -d '=' -f2)
|
||||
else # Si le fichier de config n'existe pas
|
||||
# Tente de définir l'interface réseau principale
|
||||
main_iface=$(sudo route | grep default | awk '{print $8;}') # Prend l'interface réseau défini par default
|
||||
if [ -z $main_iface ]; then
|
||||
echo -e "\e[91mImpossible de déterminer le nom de l'interface réseau de l'hôte.\e[0m"
|
||||
exit 1
|
||||
fi
|
||||
# Enregistre le nom de l'interface réseau de l'hôte dans un fichier de config
|
||||
echo -e "# interface réseau principale de l'hôte\niface=$main_iface\n" > "$script_dir/config"
|
||||
fi
|
||||
|
||||
if [ "$no_lxc" -eq 0 ]
|
||||
then
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
Pseudo-terminal will not be allocated because stdin is not a terminal.
|
||||
ssh: connect to host 10.1.4.2 port 22: Connection timed out
|
||||
[1m> Installation de Yunohost...[0m
|
||||
[1m> Post install Yunohost[0m
|
||||
[1m> Ajout du sous domaine de test[0m
|
||||
[1m> Ajout de l'utilisateur de test[0m
|
||||
[1m
|
||||
> Vérification de l'état de Yunohost[0m
|
||||
[1m> Arrêt de la machine virtualisée[0m
|
||||
sudo: pas de tty présent et pas de programme askpass spécifié
|
||||
[1m> Suppression des règles de parefeu[0m
|
||||
sudo: pas de tty présent et pas de programme askpass spécifié
|
||||
sudo: pas de tty présent et pas de programme askpass spécifié
|
||||
sudo: pas de tty présent et pas de programme askpass spécifié
|
||||
sudo: pas de tty présent et pas de programme askpass spécifié
|
||||
[1m> Création d'un snapshot[0m
|
||||
sudo: pas de tty présent et pas de programme askpass spécifié
|
|
@ -10,11 +10,21 @@ DOMAIN=domain.tld
|
|||
YUNO_PWD=admin
|
||||
LXC_NAME=pchecker_lxc
|
||||
|
||||
# Tente de définir l'interface réseau principale
|
||||
main_iface=$(sudo route | grep default | awk '{print $8;}') # Prend l'interface réseau défini par default
|
||||
if [ -z $main_iface ]; then
|
||||
echo -e "\e[91mImpossible de déterminer le nom de l'interface réseau de l'hôte.\e[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
touch "$script_dir/../pcheck.lock" # Met en place le lock de Package check, le temps de l'installation
|
||||
|
||||
# Check user
|
||||
echo $(whoami) > "$script_dir/setup_user"
|
||||
|
||||
# Enregistre le nom de l'interface réseau de l'hôte dans un fichier de config
|
||||
echo -e "# interface réseau principale de l'hôte\niface=$main_iface\n" > "$script_dir/../config"
|
||||
|
||||
echo -e "\e[1m> Update et install lxc lxctl\e[0m" | tee "$LOG_BUILD_LXC"
|
||||
sudo apt-get update >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo apt-get install -y lxc lxctl >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
@ -56,8 +66,8 @@ echo -e "\e[1m> Configuration réseau de la machine virtualisée\e[0m" | tee -a
|
|||
sudo sed -i "s@iface eth0 inet dhcp@iface eth0 inet static\n\taddress $PLAGE_IP.2/24\n\tgateway $PLAGE_IP.1@" /var/lib/lxc/$LXC_NAME/rootfs/etc/network/interfaces >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo -e "\e[1m> Configure le parefeu\e[0m" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -A FORWARD -i eth0 -o lxc-pchecker -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -A FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo -e "\e[1m> Démarrage de la machine\e[0m" | tee -a "$LOG_BUILD_LXC"
|
||||
|
@ -128,8 +138,8 @@ echo -e "\e[1m> Arrêt de la machine virtualisée\e[0m" | tee -a "$LOG_BUILD_LXC
|
|||
sudo lxc-stop -n $LXC_NAME >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo -e "\e[1m> Suppression des règles de parefeu\e[0m" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -D FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -D FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -t nat -D POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo ifdown --force lxc-pchecker >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
|
|
|
@ -9,6 +9,18 @@ if [ "${0:0:1}" == "/" ]; then script_dir="$(dirname "$0")"; else script_dir="$(
|
|||
PLAGE_IP=$(cat "$script_dir/lxc_build.sh" | grep PLAGE_IP= | cut -d '"' -f2)
|
||||
ARG_SSH="-t"
|
||||
LXC_NAME=$(cat "$script_dir/lxc_build.sh" | grep LXC_NAME= | cut -d '=' -f2)
|
||||
if [ -e "$script_dir/../config" ]; then
|
||||
main_iface=$(cat "$script_dir/../config" | grep iface= | cut -d '=' -f2)
|
||||
else # Si le fichier de config n'existe pas
|
||||
# Tente de définir l'interface réseau principale
|
||||
main_iface=$(sudo route | grep default | awk '{print $8;}') # Prend l'interface réseau défini par default
|
||||
if [ -z $main_iface ]; then
|
||||
echo -e "\e[91mImpossible de déterminer le nom de l'interface réseau de l'hôte.\e[0m"
|
||||
exit 1
|
||||
fi
|
||||
# Enregistre le nom de l'interface réseau de l'hôte dans un fichier de config
|
||||
echo -e "# interface réseau principale de l'hôte\niface=$main_iface\n" > "$script_dir/../config"
|
||||
fi
|
||||
|
||||
STOP_CONTAINER () {
|
||||
echo "Arrêt du conteneur $LXC_NAME"
|
||||
|
@ -19,15 +31,15 @@ START_NETWORK () {
|
|||
echo "Initialisation du réseau pour le conteneur."
|
||||
sudo ifup lxc-pchecker --interfaces=/etc/network/interfaces.d/lxc-pchecker
|
||||
# Activation des règles iptables
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT
|
||||
sudo iptables -A FORWARD -i eth0 -o lxc-pchecker -j ACCEPT
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT
|
||||
sudo iptables -A FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT
|
||||
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
|
||||
}
|
||||
|
||||
STOP_NETWORK () {
|
||||
echo "Arrêt du réseau pour le conteneur."
|
||||
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT > /dev/null 2>&1
|
||||
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT > /dev/null 2>&1
|
||||
sudo iptables -D FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT > /dev/null 2>&1
|
||||
sudo iptables -D FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT > /dev/null 2>&1
|
||||
sudo iptables -t nat -D POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE > /dev/null 2>&1
|
||||
sudo ifdown --force lxc-pchecker > /dev/null 2>&1
|
||||
}
|
||||
|
@ -245,11 +257,11 @@ do
|
|||
done
|
||||
|
||||
# Test l'application des règles iptables
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT
|
||||
sudo iptables -A FORWARD -i eth0 -o lxc-pchecker -j ACCEPT
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT
|
||||
sudo iptables -A FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT
|
||||
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
|
||||
|
||||
if sudo iptables -C FORWARD -i lxc-pchecker -o eth0 -j ACCEPT && sudo iptables -C FORWARD -i eth0 -o lxc-pchecker -j ACCEPT && sudo iptables -t nat -C POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
|
||||
if sudo iptables -C FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT && sudo iptables -C FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT && sudo iptables -t nat -C POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
|
||||
then
|
||||
echo -e "\e[92mLes règles iptables sont appliquées correctement.\e[0m"
|
||||
else
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
ARG_SSH="-t"
|
||||
PLAGE_IP=$(cat "$script_dir/sub_scripts/lxc_build.sh" | grep PLAGE_IP= | cut -d '"' -f2)
|
||||
main_iface=$(cat "$script_dir/../config" | grep iface= | cut -d '=' -f2)
|
||||
|
||||
echo -e "Chargement des fonctions de lxc_launcher.sh"
|
||||
|
||||
|
@ -11,8 +12,8 @@ LXC_INIT () {
|
|||
sudo ifup lxc-pchecker --interfaces=/etc/network/interfaces.d/lxc-pchecker | tee -a "$RESULT" 2>&1
|
||||
|
||||
# Activation des règles iptables
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT | tee -a "$RESULT" 2>&1
|
||||
sudo iptables -A FORWARD -i eth0 -o lxc-pchecker -j ACCEPT | tee -a "$RESULT" 2>&1
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT | tee -a "$RESULT" 2>&1
|
||||
sudo iptables -A FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT | tee -a "$RESULT" 2>&1
|
||||
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE | tee -a "$RESULT" 2>&1
|
||||
|
||||
if [ "$no_lxc" -eq 0 ]; then
|
||||
|
@ -90,13 +91,13 @@ LXC_STOP () {
|
|||
LXC_TURNOFF () {
|
||||
echo "Arrêt du réseau pour le conteneur."
|
||||
# Suppression des règles de parefeu
|
||||
if sudo iptables -C FORWARD -i lxc-pchecker -o eth0 -j ACCEPT 2> /dev/null
|
||||
if sudo iptables -C FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT 2> /dev/null
|
||||
then
|
||||
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT >> "$RESULT" 2>&1
|
||||
sudo iptables -D FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT >> "$RESULT" 2>&1
|
||||
fi
|
||||
if sudo iptables -C FORWARD -i eth0 -o lxc-pchecker -j ACCEPT 2> /dev/null
|
||||
if sudo iptables -C FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT 2> /dev/null
|
||||
then
|
||||
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT | tee -a "$RESULT" 2>&1
|
||||
sudo iptables -D FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT | tee -a "$RESULT" 2>&1
|
||||
fi
|
||||
if sudo iptables -t nat -C POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE 2> /dev/null
|
||||
then
|
||||
|
|
|
@ -12,6 +12,18 @@ touch "$script_dir/../pcheck.lock" # Met en place le lock de Package check
|
|||
|
||||
PLAGE_IP=$(cat "$script_dir/lxc_build.sh" | grep PLAGE_IP= | cut -d '"' -f2)
|
||||
LXC_NAME=$(cat "$script_dir/lxc_build.sh" | grep LXC_NAME= | cut -d '=' -f2)
|
||||
if [ -e "$script_dir/../config" ]; then
|
||||
main_iface=$(cat "$script_dir/../config" | grep iface= | cut -d '=' -f2)
|
||||
else # Si le fichier de config n'existe pas
|
||||
# Tente de définir l'interface réseau principale
|
||||
main_iface=$(sudo route | grep default | awk '{print $8;}') # Prend l'interface réseau défini par default
|
||||
if [ -z $main_iface ]; then
|
||||
echo -e "\e[91mImpossible de déterminer le nom de l'interface réseau de l'hôte.\e[0m"
|
||||
exit 1
|
||||
fi
|
||||
# Enregistre le nom de l'interface réseau de l'hôte dans un fichier de config
|
||||
echo -e "# interface réseau principale de l'hôte\niface=$main_iface\n" > "$script_dir/../config"
|
||||
fi
|
||||
|
||||
# Check user
|
||||
if [ "$(whoami)" != "$(cat "$script_dir/setup_user")" ] && test -e "$script_dir/setup_user"; then
|
||||
|
@ -28,13 +40,13 @@ then
|
|||
fi
|
||||
|
||||
echo "\e[1m> Configure le parefeu\e[0m"
|
||||
if ! sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT 2> /dev/null
|
||||
if ! sudo iptables -D FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT 2> /dev/null
|
||||
then
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT
|
||||
fi
|
||||
if ! sudo iptables -C FORWARD -i eth0 -o lxc-pchecker -j ACCEPT 2> /dev/null
|
||||
if ! sudo iptables -C FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT 2> /dev/null
|
||||
then
|
||||
sudo iptables -A FORWARD -i eth0 -o lxc-pchecker -j ACCEPT
|
||||
sudo iptables -A FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT
|
||||
fi
|
||||
if ! sudo iptables -t nat -C POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE 2> /dev/null
|
||||
then
|
||||
|
@ -70,8 +82,8 @@ echo "\e[1m> Arrêt de la machine virtualisée\e[0m"
|
|||
sudo lxc-stop -n $LXC_NAME
|
||||
|
||||
echo "\e[1m> Suppression des règles de parefeu\e[0m"
|
||||
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT
|
||||
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT
|
||||
sudo iptables -D FORWARD -i lxc-pchecker -o $main_iface -j ACCEPT
|
||||
sudo iptables -D FORWARD -i $main_iface -o lxc-pchecker -j ACCEPT
|
||||
sudo iptables -t nat -D POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
|
||||
sudo ifdown --force lxc-pchecker
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue