С пробросом локального порта на внешний белый ip адрес роутера Mikrotik, это вполне решаемая задача.
[bash title=»код»]/ip firewall nat add chain=dstnat action=dst-nat to-addresses=192.168.0.31 to-ports=80 protocol=tcp dst-address=124.239.16.214 dst-port=8880 log=no[/bash]Но что делатьл если необходимо пробросить локальный порт на сервер Centos через l2tp соединение. Ведь по умолчанию Mikrotik будет отдавать пакеты через дефолтный шлюз.
Зачем пробрасывать порт?
Например, у нас есть подключение к сети интернет с серым ip адресом и нам необходимо предоставить серверу на Centos подключаться к видео регистратору или Ip камере внутренней локальной сети Mikrotik.
Где 192.168.0.150 локальный адрес регистратора, внутренней сети Mikrotik
to-ports=559 — rtsp порт регистратора, по умолчанию 554
dst-address=10.0.0.10 — локальный адрес l2tp клиента Mikrotik
И в конце создаём route
dst-address=0.0.0.0/0
Gateway = 10.0.0.1 — это Remote address нашего l2tp соединения (т.е. адрес l2tp Centos сервера)
Routing Mark = reg-route
В итоге порт прокинут. Пакеты побежали по всем правилам которые мы создали.
На виртуалке (вашем серверве с белым ip): /etc/sysctl.conf [bash title=»код»]net.ipv4.ip_forward = 1[/bash] [bash title=»код»]sysctl -p[/bash] [bash title=»код»]iptables -A FORWARD -p udp —sport 1701 -j ACCEPT iptables -A INPUT -m state —state NEW -m tcp -p tcp —dport 554 -j ACCEPT iptables -A INPUT -m state —state NEW -m tcp -p tcp —dport 8000 -j ACCEPT iptables -A INPUT -m state —state NEW -m tcp -p tcp —dport 8291 -j ACCEPT iptables -A INPUT -m state —state NEW -m tcp -p tcp —dport 8888 -j ACCEPT iptables -t nat -A PREROUTING -i eth0 -p tcp —dport 554 -j DNAT —to 10.0.0.10:554 iptables -t nat -A PREROUTING -i eth0 -p tcp —dport 8000 -j DNAT —to 10.0.0.10:8000 iptables -t nat -A PREROUTING -i eth0 -p tcp —dport 8291 -j DNAT —to 10.0.0.10:8291 iptables -t nat -A PREROUTING -i eth0 -p tcp —dport 8888 -j DNAT —to 10.0.0.10:8888[/bash]