больше RAM должно сделать это, конечно, необходимо будет сказать механизму дб использовать ту дополнительную RAM :)
Проблема 1: Несколько IP-адресов на NIC.
ip address add a.b.c.d1/mm brd + dev ${WAN_IFACE}
ip address add a.b.c.d2/mm brd + dev ${WAN_IFACE}
... and so on ...
b.c.d1, b.c.d2, и так далее Общедоступные IP-адреса, данные Вам, / мм маска подсети, данная Вам.
Проблема 2: двойной NAT
iptables -t nat -A PREROUTING -i ${WAN_IFACE} -p udp --dport 53 -j DNAT --to-destination ${internal_dns_ip}:53
iptables -A FORWARD -i ${WAN_IFACE} -o ${LAN_IFACE} -p udp --dport 53 -j ACCEPT
iptables -t nat -A POSTROUTING -o ${LAN_IFACE} -p udp --dport 53 -j SNAT --to-source ${router_lan_ip}
( and optionally for -p tcp, too )
Но почему Вы хотите сделать это???
Править: Обеспечение NAT для подсети в большей сети.
На основе комментариев (см. ниже) решение проблемы 2 не подойдет. Вместо этого простой SNAT должен быть достаточным:
# Allow traffic from smaller LAN to bigger LAN
iptables -A FORWARD -i ${SMALLER_LAN_IFACE} -o ${BIGGER_LAN_IFACE} -j ACCEPT
# Allow established and related trafic bothways
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Perform Source NAT
iptables -t nat -A POSTROUTING -o ${BIGGER_LAN_IFACE} -j SNAT --to-source ${LOWER_IP}-${HIGHER_IP}
При доверии и меньшей LAN и большей LAN можно суметь обойтись синглом, ВПЕРЕД управляйте:
iptables -A FORWARD -j ACCEPT