Xandyrabelo07
(usa Debian)
Enviado em 17/04/2019 - 17:53h
Estou passando esse cenário caso alguem esteja com dificuldade em configuração de interfaces de rede e compartilhamento de internet no CentOS, to começando no Linux e to vendo que o barato é louco rsssssss.
Nesse cenário será usado um servidor Xenserver, duas VMs com Server 2016 e o CentOS.
A minha intenção foi deixar uma VM com Server 2016 com um Webservice gerando cargas de produtos pra um determinado estabelecimento e como a unica maquina com conexão RDP para a outra VM, e a outra VM com Server 2016 e SQL Server ficará isolada de toda rede do estabelecimento fazendo com que o acesso ao sistema seja obrigado a passar pelo Linux através do seu ip.
####################################################
habilitando internet e interfaces de rede no CentOS
####################################################
Configurando as Interfaces Manualmente
Caso as interfaces de rede nao forem ativadas no ato da instalação, provavelmente nao tera nenhum ip nas placas, então precisaremos editar essa interfaces:
Caso a interface tenha outro nome, para descobrir:
# ifconfig -a
Ao descobrir edite o arquivo
# vim /etc/sysconfig/network-scripts/ifcfg-ethX (X siginifica o numero da interface, ex: eth0, ou caso for nome diferente.)
Edite as Linhas:
DEVICE="eth0" (ou o nome ou numero que for a interface)
BOOTPROTO="none"
TYPE=Ethernet
IPADDR="192.168.1.X"
PREFIX="24" (ou qual for a mascara de rede usada)
GATEWAY="192.168.1.1"
ONBOOT="yes"
IPV6_PRIVACY="no"
Para deixar DHCP mude o BOOTPROTO para "dhcp"
As linhas que não constarem, acrescente ao arquivo.
Salvar o arquivo
Se for editor Vim ou salva com ":x" ou "Shift+zz"
Ex. vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="none"
TYPE=Ethernet/e
IPADDR="192.168.168.x"
PREFIX="24" (ou qual for a mascara de rede usada)
ONBOOT="yes"
IPV6_PRIVACY="no"
no meu caso nao vou utilizar gateway nessa interface.
Salvar o arquivo
Reiniciar as interfaces
# service network restart ou: # /etc/init.d/network restart
Editar o Dns
vim /etc/resolv.conf
eu deixei com o dns do google
nameserver 8.8.8.8
Salvar o arquivo
Acredito que após esses procedimentos o Linux já estará navegando na internet.
#######################################
Ativar o compartilhamento de internet
#######################################
Eu costumo desabilitar o firewall D para limpar as regras de iptables e deixar ele mais limpo.
# systemctl stop firewalld
# systemctl disable firewalld
Após isso habilitar o compartilhamento de internet com os comandos
# echo 1 >/proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Salvar o iptables
# iptables-save >/iptables-regras (O arquivo se criára sozinho na raiz)
Editar o arquivo rc.local dentro de rc.d (Isso fará com que vc nao perca suas configurações de compartilhamento de internet caso a maquina reinicie)
vim /etc/rc.d/rc.local
colocar dentro os comandos:
# iptables-restore </iptables-regras
# echo "1" >/proc/sys/net/ipv4/ip_forward
Salvar o arquivo
Transformar o rc.local em executavel
# cd /etc/rc.d/
# chmod +x rc.local
Acredito que feito esses passos o servidor ja estará navegando e compartilhando internet com as estações de trabalho.
Aqui fiz alguns exemplos de abertura de portas, mas no meu caso fiz com que algumas requisições sejam obrigadas a passarem pelo ip do Linux para depois seguir na rede.
iptables -t nat -A PREROUTING -p tcp -s(origem) ip Origem(no meu caso aqui será o proprio CentOS) 192.168.0.200 -d(Destino) ip desino 192.168.0.201 --dport 3389 (porta) -j DNAT --to 192.168.168.17 (ip do Nat)
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.200 -d 192.168.0.201 --dport 3389 -j DNAT --to 192.168.168.17 (Aqui somente 1 ip acessa a porta RDP, usando o ip do Linux.)
iptables -t nat -A PREROUTING -p tcp -d 192.168.0.201 --dport 9098 -j DNAT --to 192.168.168.17 (aqui toda a rede local pode acessar essa porta de serviço desde que use o ip do Linux)
Aqui nesse caso eu isolei um servidor da rede local transformando o Linux em uma especie de Sub-rede somente acessível via porta.
Lembrando que nesse caso o meu CentOS não é o dmz então no roteador desse cliente criei as regras de portas apontando pro Linux, assim só gerencio o sistema da empresa que trabalho e nao a rede toda do cliente
iptables -t nat -A PREROUTING -p tcp -d 0.0.0.0 --dport 9098 -j DNAT --to 192.168.168.17 (Aqui qualquer ip da mesma rede acessaria a porta a porta informada.)
após fazer suas regras nao se esqueçam de salvar com o save do iptables.
Para verificar uma regra de nat
iptables -t nat -L
verificar pela linha
iptables -L -t nat --line-numbers
apagar uma regra de NAT pela linha
iptables -t nat -D POSTROUTING 1
apagar uma regra de NAT
Usar o "D" no lugar "A"
Espero ter ajudado alguém.