Encaminhamento de tráfego entre duas interfaces

1

Eu tenho uma caixa Linux com duas interfaces:

~#ip -4 addr show scope global
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
inet 192.168.45.101/24 brd 192.168.45.255 scope global eth0
8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
inet 172.17.1.230 peer 172.17.1.229/32 scope global tun0
10: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1
  • Eth0 está conectado à nossa rede local (outros dispositivos podem ser encontrados nesta rede)
  • Eth1 está conectada a um dispositivo (nomeie-o como BD), que possui um endereço IP estático 192.168.1.5
  • Tun0 é nossa rede VPN

Eu tenho duas perguntas:)

  1. como posso acessar o servidor web do BD (192.168.1.5:80) de uma máquina que esteja na rede local (gravando no navegador 192.168.45.101:8080) ou na rede VPN (gravando o navegador 172.17.1.230:8080)? Eu sou realmente um grande novato na configuração de rede: P então eu entendo que eu deveria encaminhar o tráfego da porta 8080 para a porta 80
  2. a máquina BD tem uma outra porta TCP 5017 que usa para enviar alguns dados. Como posso ouvir esta porta de uma máquina que está conectada na rede local ou na rede VPN?

aqui está o que eu tentei para a primeira pergunta (e claro que não funcionou):

~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.5:80
~# iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.5:80
~#iptables -A FORWARD -i eth0 -p tcp --dport 80 -j ACCEPT
~#iptables -A FORWARD -i tun0 -p tcp --dport 80 -j ACCEPT

e aqui está o que eu tentei para a segunda pergunta (a mesma coisa .. não funcionou):

~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5017-j DNAT --to-destination 192.168.1.5:5017
~# iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 5017-j DNAT --to-destination 192.168.1.5:5017
~#iptables -A FORWARD -i eth0 -p tcp --dport 5017 -j ACCEPT
~#iptables -A FORWARD -i tun0 -p tcp --dport 5017 -j ACCEPT

alguém pode ajudar, por favor ... (Eu gasto para 3 dias sobre este problema e tenho um prazo)

Obrigado

    
por azeddine ben omar 17.10.2018 / 17:45

1 resposta

1

Existe uma pré-previsão para redirecionar o tráfego de um servidor para outro:

#enable IP forwarding:
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf

#then activate the changes
sudo sysctl -p

#Start iptables
sudo systemctl start iptables

#Check iptables rules:
(check that you don't have a deny policy )

#You can flush all rule to start in a clean env:
sudo iptables -F
#+For the nat 
sudo iptables -t nat -F

#Add rules
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.5:80

#To check :
sudo iptables -t nat -L -n

#Save the iptables rule :
sudo iptables-save | sudo tee /etc/iptables.up.rules

Espero que funcione para você:)

    
por 18.10.2018 / 10:18