## - Create a systemd service
## -
# - Copy firewall scripts to /usr/local/sbin
# -
cp -a /usr/local/src/ipt-server/ipt-firewall-server /usr/local/sbin/
cp -a /usr/local/src/ipt-server/ip6t-firewall-server /usr/local/sbin/
# - Copy Configuration files to /etc/ipt-firewall
# -
mkdir /etc/ipt-firewall
cp -a /usr/local/src/ipt-server/ipt-firewall-server.conf.sample /etc/ipt-firewall/ipt-firewall-server.conf
cp -a /usr/local/src/ipt-server/ip6t-firewall-server.conf.sample /etc/ipt-firewall/ip6t-firewall-server.conf
cp -a /usr/local/src/ipt-server/ban_ipv4.list.sample /etc/ipt-firewall/ban_ipv4.list
cp -a /usr/local/src/ipt-server/ban_ipv6.list.sample /etc/ipt-firewall/ban_ipv6.list
# - Adjust Configuration files
# -
vim /etc/ipt-firewall/ipt-firewall-server.conf
vim /etc/ipt-firewall/ip6t-firewall-server.conf
# IPv4
#
cat <<EOF > /etc/systemd/system/ipt-firewall.service
[Unit]
Description=IPv4 Firewall with iptables
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/sbin/ipt-firewall-server start
ExecStop=/usr/local/sbin/ipt-firewall-server stop
User=root
[Install]
WantedBy=multi-user.target
EOF
# IPv6
#
cat <<EOF > /etc/systemd/system/ip6t-firewall.service
[Unit]
Description=IPv6 Firewall with ip6tables
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/sbin/ip6t-firewall-server start
ExecStop=/usr/local/sbin/ip6t-firewall-server stop
User=root
[Install]
WantedBy=multi-user.target
EOF
## - Eanable script (for autostart at boot time)
## -
systemctl enable ipt-firewall.service
systemctl enable ip6t-firewall.service
## - Reload systemd configuration
## -
systemctl daemon-reload
## - Start Services
## -
systemctl start ipt-firewall
systemctl start ip6t-firewall
## - Add to /etc/rc.local
## -
## - sleep 2
## - systemctl restart ipt-firewall || /bin/true
## - systemctl restart ip6t-firewall || /bin/true