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

Как маршрутизировать UDP-трафик с одного общедоступного IP-адреса (linux) на другой общедоступный IP-адрес (Windows)

Я хочу предотвратить прямой доступ к своей машине с Windows и показать некоторые программы, работающие на ней, через мою машину Linux (которая снова доступна по общедоступному IP-адресу).

Есть ли способ, которым я могу настроить свою Linux-машину (например, IP = a.b.c.d) направить все UDP трафик, который он получает через определенный порт (скажем, 6667) на мою машину Windows (скажем, IP = e.f.g.h) в порту 6668?

Да, как я могу это реализовать?

ОБНОВИТЬ

# bindadress    bindport  connectaddress  connectport

192.168.2.45    6667    192.168.2.104   6668

# logging information
logfile /var/log/rinetd.log

# uncomment the following line if you want web-server style logfile format
logcommon
~          

ОБНОВИТЬ

Я хочу проложить маршрут UDP только трафик.

Следующий раздел работает только для TCP (он был опубликован до того, как Махендра изменил название

Установите rinetd. В этой программе вы можете легко настроить входящий и исходящий порт. Сначала установите программу. Затем измените /etc/rinetd.conf

Пример:

#bindadress bindport connectaddress connectport

a.b.c.d 6667 e.f.g.h 6668

Для UDP проверьте ссылку ниже

http://brokestream.com/udp_redirect.html

Это из обсуждения в чате, которое фактически решило проблему

iptables -t nat -A PREROUTING -i $EXT_IF -p udp -d $EXT_IP --dport 53 -j DNAT --to-destination $INTERNAL_SERVER

and make sure you also have it allowed to pass through the FORWARD chain with something like

#forward traffic
iptables -A FORWARD -i $EXT_IF -o $INT_IF -p udp -d $INTERNAL_SERVER --dport 53 -j ACCEPT
#reply traffic
iptables -A INPUT -o $EXT_IF -i $INT_IF -p udp -s $INTERNAL_SERVER --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

Да, это называется обратным NAT и является частью возможностей IpTables в Linux. Каждый приличный брандмауэр NATtins делает это для предоставления доступа к службам.