Boa noite amigo.
Acho que o "problema" aí está sendo a parte do iptables.
Faz um teste e depois conta aqui pra gente se deu certo.
Para garantir, use os comandos abaixo para limpar as tabelas.
iptables –F
iptables -–flush
iptables –F INPUT
iptables –t nat –F
Depois, para fins de testes, use o comando abaixo e veja se o compartilhamento de internet passou a funcionar.
iptables -t nat - A POSTROUTING -o enp46ns0 -j MASQUERADE
Feito isso, abaixo desta linha, você pode começar a criar as regras que deseja do IPTABLES.
Vou procurar um script que tenho há um bom tempo e ele sempre me salvava na hora das dúvidas! =)
Se achar, posto aqui nos comentários.