Você só tem o NAT de saída configurado para que tudo que passa pelo sistema seja mascarado com o endereço IP principal e direcionado para a Internet. Você não tem nenhum encaminhamento de porta feito. Assim como nos roteadores padronizados padrão, você precisa configurar as regras NAT para lidar com o tráfego vindo de fora e entrando.
O iptables encaminhamento de porta básico para o tráfego TCP é assim:
iptables -t nat -A PREROUTING -i [INTERNET_INTERFACE] -p tcp --dport [EXTERNAL_RECEIVING_PORT] -j DNAT --to-destination [TARGET_SYSTEM_IP]:[TARGET_PORT]
... com uma regra correspondente em sua tabela FORWARD assim:
iptables -A FORWARD -p tcp -d [TARGET_SYSTEM_IP] --dport [TARGET_PORT] -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT
Para o tráfego UDP, é semelhante, exceto sem acompanhamento de estado:
iptables -t nat -A PREROUTING -i [INTERNET_INTERFACE] -p udp --dport [EXTERNAL_RECEIVING_PORT] -j DNAT --to-destination [TARGET_SYSTEM_IP]:[PORT]
iptables -A FORWARD -p udp -d [TARGET_SYSTEM_IP] --dport [TARGET_PORT] -j ACCEPT
A suposição aqui é que você tem duas interfaces de sistema, uma para o tráfego de saída e outra para o tráfego de entrada da sua LAN, com o sistema atuando como o gateway.
Considere-se, porém, que o seu servidor Ubuntu é provavelmente não apenas fazendo DHCP, mas está atuando como o roteador em sua infra-estrutura, o que significa que você tem que tratá-lo como tal. (Não é apenas DHCP, é o sistema NAT e de roteamento)