The way I made it work with a static IP on a ubuntu 16.04 and debian strech is to put in a systemd service, as shown below.
cat /etc/systemd/system/topaz-networking.service
[Unit]
Description=Raise Topaz network interfaces
Documentation=man:interfaces(5)
DefaultDependencies=no
Wants=network.target
After=local-fs.target network-pre.target apparmor.service systemd-sysctl.service systemd-modules-load.service
Before=network.target shutdown.target network-online.target
Conflicts=shutdown.target
[Install]
WantedBy=multi-user.target
WantedBy=network-online.target
[Service]
Type=oneshot
EnvironmentFile=-/etc/default/networking
ExecStartPre=-/bin/sh -c ‘[ “$CONFIGURE_INTERFACES” != “no” ] && udevadm settle’
ExecStartPre=/sbin/ip link set eth0 up
ExecStartPre=/bin/sh -c ‘sleep 1 && udevadm settle’
ExecStart=/sbin/ip addr add 192.168.10.22/24 dev wan
ExecStart=/sbin/ip link set wan up
ExecStart=/bin/sh -c ‘sleep 1 && udevadm settle’
ExecStart=/sbin/ip route add default via 192.168.10.254
ExecStop=/sbin/ip link set wan down
ExecStop=/sbin/ip link set eth0 down
RemainAfterExit=true
TimeoutStartSec=1min