28 lines
1.1 KiB
Bash
Executable File
28 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
# Create the jail with dhcp on
|
|
iocage create -r 12.2-RELEASE --name $1 dhcp=on
|
|
|
|
# Install avahi and .local DNS
|
|
iocage exec -f $1 "pkg install -y avahi-app dbus nss_mdns && sysrc dbus_enable="YES" && sysrc avahi_daemon_enable="YES""
|
|
iocage exec $1 sed -i -e '/^hosts/s/dns/mdns dns/' /etc/nsswitch.conf
|
|
iocage exec $1 "service dbus start && service avahi-daemon start"
|
|
|
|
|
|
# Copy our jail public key to allow login
|
|
mkdir /zroot/iocage/jails/$1/root/root/.ssh
|
|
cp .ssh/jails.pub /zroot/iocage/jails/$1/root/root/.ssh/authorized_keys
|
|
|
|
# Allow root login and start SSH
|
|
iocage exec $1 sed -i -e '/^#PermitRootLogin/s/#Permit/Permit/' /etc/ssh/sshd_config
|
|
iocage exec $1 sed -i -e '/^PermitRootLogin/s/no/yes/' /etc/ssh/sshd_config
|
|
iocage exec $1 sysrc sshd_enable="YES"
|
|
iocage exec $1 service sshd start
|
|
|
|
# Add our new IP address to our unbound local zone
|
|
ip_address=$(iocage exec $1 ifconfig epair0b | grep 'inet ' | awk '{print $2}')
|
|
echo 'local-data: "'$1'.local IN A '$ip_address'"' >> /zroot/iocage/jails/dns/root/var/unbound/local.zones
|
|
iocage exec dns service unbound restart
|
|
|
|
|
|
|