Назад | Перейти на главную страницу

Перенаправление трафика между двумя интерфейсами

У меня Linux-бокс с двумя интерфейсами:

~#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

У меня два вопроса :)

  1. как я могу получить доступ к веб-серверу BD (192.168.1.5:80) с машины, которая находится в локальной сети (путем записи в браузере 192.168.45.101:8080) или в сети VPN (путем записи в браузере 172.17 .1.230: 8080)? Я действительно большой новичок в настройке сети: P, поэтому я понимаю, что я должен маршрутизировать трафик с порта 8080 на порт 80
  2. У машины BD есть еще один TCP-порт 5017, который он использует для отправки и приема данных. Как я могу прослушивать этот порт с машины, подключенной к локальной сети или сети VPN?

вот что я попробовал ответить на первый вопрос (и, конечно, не сработал):

~# 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

и вот что я пытался ответить на второй вопрос (то же самое .. не сработало):

~# 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

может кто-нибудь поможет, пожалуйста ... (я трачу на эту проблему до 3 дней и у меня есть дедлайн)

Спасибо

Существует процедура перенаправления трафика с одного сервера на другой:

#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

Надеюсь, у вас сработает :)