Eu quero que o meu servidor Web Glassfish ofereça páginas da Web para dois endereços IP distintos. O que estou tentando fazer é configurar regras de iptable para traduzir as portas.
para IP # 1
198.xxx.xxx.14:80 <-- redirected to --> port 8080
198.xxx.xxx.14:443 <-- redirected to --> port 8181
para IP # 2
199.xxx.xxx.185:80 <-- redirected to --> port 9090
199.xxx.xxx.185:443 <-- redirected to --> port 9191
e depois, no meu servidor Glassfish, eu teria dois servidores virtuais:
- um ouvindo as portas 8080 & 8181 para todos os hosts e
- o outro ouvindo as portas 9090 & 9191 para todos os hosts.
Minhas regras de iptables de trabalho para apenas um endereço IP no meu servidor Debian são as seguintes:
iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A OUTPUT -o lo -p tcp --dport 443 -j REDIRECT --to-port 8181
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8181
Meu arquivo /etc/hosts
contém os dois endereços IP:
...
198.xxx.xxx.14 subdomain.mydomain1.com myservername1
127.0.0.1 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
199.xxx.xxx.185 mydomain2.org myservername2
e o /etc/network/interfaces
já contém a ligação de adaptadores de rede, da seguinte forma:
...
auto venet0:0
iface venet0:0 inet static
address 199.xxx.xxx.185
netmask 255.255.255.255
auto venet0:6
iface venet0:6 inet static
address 198.xxx.xxx.14
netmask 255.255.255.255
...