Передайте клиентский порт моему компьютеру

Я должен отправить пакеты через номер порта сервера 38xxx и затем получить пакеты с помощью протокола UDP от клиентского порта номер 48xxx. Как я могу реализовать это перенаправление портов для получения пакетов успешно? Я запускаю Ubuntu 16.04.

0
задан 1 September 2018 в 15:56

1 ответ

В моем брандмауэре я делаю несколько вещей создать прокси между моим основным компьютером и моими компьютерами Интранет:

Во ВПЕРЕД очереди, у меня есть что-то вроде этого:

iptables -A FORWARD -i eth0 -o eth1 -p tcp -m state --state ESTABLISHED,RELATED \
                            -m tcp ! -s 10.10.0.1 -d 10.10.1.2 ! --syn -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -p udp -m state --state ESTABLISHED,RELATED \
                            -m udp ! -s 10.10.0.1 -d 10.10.1.2 -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -p icmp -m icmp --icmp-type any \
                            ! -s 10.10.0.1 -d 10.10.1.2 -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -p tcp -m tcp -s 10.10.0.1 -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -p udp -m udp -s 10.10.0.1 -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -p icmp -m icmp --icmp-type any \
                            -s 10.10.0.1 -j ACCEPT

Я заметил, что наличие ICMP может помочь следовательно той строке. Если Вы не хотите поддерживать TCP, очевидно, не добавляйте что один.

Мой FORWARD определения не включают спецификации порта, что означает, что все пакеты передаются, безотносительно порта. Попытайтесь добавить команду исходного и целевого порта как:

--sport 38000
--dport 43000

Если я корректен, необходимо посмотреть на многопортовую возможность включать диапазон портов (что-то вроде этого: -m multiport --dport 38000-38999, это может быть двоеточие (:) и не тире (-) между запуском и спецификацией оконечного порта [так 38000:38999].)

Затем в фильтре NAT, я добавляю команды POSTROUTING следующим образом:

iptables -t nat -A POSTROUTING -o eth1 -s 10.10.1.2  -j SNAT --to-source 10.10.0.1

IP-адрес в --to-source ... должен быть на той же плате Ethernet, но это не должен быть тот же IP-адрес. Это практично, если у Вас есть статический IP-адрес. В моем случае я на самом деле имею eth0 с моим статическим IP-адресом и eth0:1 с 10.10.0.1 и это работает!

0
ответ дан 28 October 2019 в 01:23

Другие вопросы по тегам:

Похожие вопросы: