You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ublinux-init/ublinux/rc.preinit.d/32-network

71 lines
3.1 KiB

#!/usr/bin/env bash
#
# Initial script for UBLinux
# This script are launching before starting init from initrd script
# Current dir allways must be set to root (/)
# All system path must be relative, except initrd dirs
ENABLED=yes
[[ ${ENABLED} == "yes" ]] || exit 0
DEBUGMODE=no
PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; }
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
HOSTNAME=ublinux-live
SYSCONF="${ROOTFS}/${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
#if [ "$UBLINUXSERVER" != "" ] ;then
# sed -i s/.*ublinux-server.*/"$UBLINUXSERVER UBLinux-Server"/ etc/hosts
# sed -i s/192.168.1.31/$UBLINUXSERVER/g etc/dhcpd.conf
#fi
#if [ "$NETWORKIP" != "" ] ;then
# sed -i s/192.168.1./$NETWORKIP/g etc/dhcpd.conf
# sed -i s/192.168.1./$NETWORKIP/g etc/pdnsd.conf
# sed -i s/192.168.1./$NETWORKIP/g etc/samba/smb.conf
# sed -i s/192.168.1.0/${NETWORKIP}0/g etc/exports
# sed -i s/192.168.1.0/${NETWORKIP}0/g etc/polipo/config
# sed -i s/192.168.1.0/${NETWORKIP}0/g etc/ntp.conf
# sed -i s/192.168.1.0/${NETWORKIP}0/g etc/ublinux/iptables
#fi
## Режим полного WiFi радио молчания
if [[ -n $(cmdline_parameter flightmode) ]]; then
for IFCFG_FILE in ${ROOTFS}/etc/ublinux/network-scripts/ifcfg-w*; do
sed "s/ONBOOT=yes/ONBOOT=no/" -i ${IFCFG_FILE} 2>/dev/null
done
${CMD_CHROOT} /usr/bin/rfkill block all
[[ ${BLOCKWPASS} == "yes" && -f ${ROOTFS}/usr/lib/systemd/system/wpa_supplicant.service ]] && ln -sf /dev/null ${ROOTFS}/etc/systemd/system/wpa_supplicant.service
fi
if [[ ${IPV6} == @(yes|y|enable|on) ]]; then
# systemd-networkd
sed /DHCP=ipv4/d -i ${ROOTFS}/usr/lib/systemd/network/90-enable.network 2>/dev/null
sed /DHCP=ipv4/d -i ${ROOTFS}/usr/lib/systemd/network/90-wireless.network 2>/dev/null
# modprobe
sed /ipv6/d -i ${ROOTFS}/etc/modprobe.d/ubconfig.conf 2>/dev/null
# sysctl.d
sed /net.ipv6.conf.all.disable_ipv6/d -i ${ROOTFS}/etc/sysctl.d/40-noipv6-ubconfig.conf 2>/dev/null
elif [[ ${IPV6} == @(no|n|disable|off) ]]; then
# systemd-networkd
sed /ipv4/d -i ${ROOTFS}/usr/lib/systemd/network/90-enable.network 2>/dev/null
sed /ipv4/d -i ${ROOTFS}/usr/lib/systemd/network/90-wireless.network 2>/dev/null
echo "DHCP=ipv4" >> ${ROOTFS}/usr/lib/systemd/network/90-enable.network
echo "DHCP=ipv4" >> ${ROOTFS}/usr/lib/systemd/network/90-wireless.network
# modprobe
sed /ipv6/d -i ${ROOTFS}/etc/modprobe.d/ubconfig.conf 2>/dev/null
echo "options ipv6 disable=1" >> ${ROOTFS}/etc/modprobe.d/ubconfig.conf
# sysctl.d
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> ${ROOTFS}/etc/sysctl.d/40-noipv6-ubconfig.conf
fi