INTRODUÇÃO
Neste artigo estaremos abordando a criação de uma
instância que servirá como NAT Gateway entre uma private network e uma public
network.
Esta configuração permitirá que as instâncias
alocadas na private network se conectem a internet, mas evita que uma conexão a
partir da internet seja realizada com essas instâncias.
Quando o tráfego é encaminhado para a Internet, o
endereço IPv4 de origem é substituído pelo endereço da instância NAT e do mesmo
modo, quando a o tráfego de resposta volta para essas instâncias na private
network, a instância NAT converte o endereço de volta nos endereços IPv4
privados dessas instâncias.
Diagrama de conexão através de uma Nat Instance.
CONFIGURAÇÕES
1 – Partindo do principio da criação de um ambiente
do zero, primeiramente será criada uma VCN utilizando a opção Virtual Cloud
Network Only, definindo o CIDR Block como 10.0.0.0/16 e deixando a
opção DNS RESOLUTION marcada.
2- Após a criação da VCN, será editada a default
security list e criada uma regra de entrada para o CIDR 10.0.1.0/24
(rede privada) e definindo como all protocols. Também é necessário a
criar uma regra de saída liberando para a internet 0.0.0.0/0 all
protocols.
3 – Concluída a alteração da Default Security List,
o próximo passo é a criação do Internet Gateway.
4 – Agora será criada a regra de roteamento para a internet na default
route table. Para isso é necessário a criação de uma nova rule na default
route table, com os dados abaixo:
·
Destination: 0.0.0.0/0
·
Target Type: Internet Gateway Target
·
Compartment: Chose a compartment
·
Target Selection: InternetGateway
5 – A próxima etapa é a criação da public subnet.
·
Nome: Public Subnet
·
Compartmen: selecionar compartimento
desejado
·
Subnet Type: Regional
·
CIDR Block: 10.0.0.0/24
·
Route Table: Default Route Table for
VCN01
·
Subnet Access: Public Subnet
·
DHCP Options: Default DHCP Options for
VCN01
·
Security Lists: Default Security List for
VCN01
6 – Criação da instância NAT. Para isso, utilizaremos as configurações
abaixo:
· Name: NatInstance
·
Availability Domains: Pode ser qualquer
um desejado
·
Image: Oracle Linux 7.7
·
Shape: Utilizando o shape free (VM.Standard.E2.1.Micro
(Virtual Machine))
·
Virtual Cloud Network: VCN01
·
Subnet: Public Subnet
·
Marcar a opção Assign a public IP address
·
Private IP Address: 10.0.0.2
·
SSH Keys: Adicionar a chave publica
8 - Concluída a criação da compute instance NatInstance é necessário
acessa-la com o usuário root e configurar o firewall e o kernel para realizarem
o roteamento nat para outros hosts na rede.
Comandos:
echo net.ipv4.ip_forward = 1 > /etc/sysctl.d/98-ip-forward.conf
firewall-offline-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o
ens3 -j MASQUERADE
firewall-offline-cmd --direct --add-rule ipv4 filter FORWARD 0 -i
ens3 -j ACCEPT
/bin/systemctl restart firewalld
sysctl -p /etc/sysctl.d/98-ip-forward.conf
|
9 –Após os ajustes acima, é necessário editar a vnic da mesma e
selecionar a opção Skip Source/Destination Check. Sem essa opção as
demais intâncias não podem trafegar através da NatInstance.
10 – Agora iremos criar uma Security List para a
private network e posteriormente uma route table, apontando para o private IP
da nossa instância NatInstance.
Dados para a Security List:
·
Name: Sec List Private IP
·
Egress rule: 0.0.0.0/0 All Protocols
·
Ingress Rules: Devem ser criadas de
acordo com a necessidade do ambiente (ex acesso ssh).
Dados para a Route Table:
·
Name: Private Route Table
·
Destination: 0.0.0.0/0
·
Target Type: Private IP
·
Target Selection: 10.0.0.2
11 – Criaremos agora a private subnet, com as
configuração para que todos os recursos abaixo da mesma e que necessitem de
trafego à internet, utilizem nossa NatInstace.
Nome: Private Subnet
Availability Domain: selecionar qualquer um
CIDR Block: 10.0.1.0/24
Route Table: Private Route Table
Subnet Access: Private Subnet
DHCP Options: Default DHCP Options
Security Lists: Sec List Private IP
Concluídas as configurações acima, todas as
instâncias que forem criadas na private network e que precisem trafegar pela
internet, farão acesso através da nossa instance NatInstance e a nossa rede não
estará exposta para a internet.
Abaixo, temos uma conexão em uma vm instance na
private subnet e podemos verificar através do traceroute para o endereço www.google.com.br, que o tráfego está sendo
direcionado para a NatIstance.
Comentários
Postar um comentário