Hello Chad,
Comcast and their friends (Time Warner, Big Box DSL) seem to provide dumb/stupid devices to the end users (us) to simplify configuration for the masses. Thus, anytime I have a business connection that I consult for, I push the business to get a proper firewall/router setup, and simply have the ISP push their box into a bridge, and let me control all of the settings on the proper firewall/router setup.
Common devices I use are older Linux boxes with 2 network cards, or Mikrotik devices. I like the Mikrotik components for cost and configuration simplicity, but Mikrotik doesn't support UDP OpenVPN, so if I want to do fancy VPN work, I plop a computer down.
Anyways, FreePBX is using CentOS 6.x, which is a re-branded RedHat Enterprise Linux 6. Do not search for RedHat 6, or you may confuse with results from the RedHat "Original Series" of which RedHat 6 was around the turn of the century, 1999-2000.
As I do not like major servers to sit outside of the firewall, may I suggest the following:
-- Put a Router in front of the FreePBX machine
-- Configure the Router to forward ports if required
-- Have the FreePBX machine on the local network
If you want to get into the guts of CentOS networking, you can find the configuration scripts in /etc/sysconfig/network-scripts and the ifcfg-eth0 is the first network card. Warning that you should not hand-modify those files, as if they are out-of-sync with the web interface, you could start chasing your tail again.
If that fails, I think it may be time to re-install FreePBX.
Christian