Предоставление доступа в мир с локального компа за nat (ngrok)

Thank you for reading this post, don't forget to subscribe!

Появи­лась зада­ча, пере­дать по сети интер­нет овер дохуя фай­лов, объ­ё­мом боль­ше 100 гигов.
были сле­ду­ю­щие варианты:
vpn - ско­рость режет­ся провайдером
локаль­ный ftp-server - нужен белый IP или nat кото­рый сра­зу смот­рит в мир (чтоб мож­но было про­ки­нуть порты)
тор­рент тре­кер - не раз­би­рал­ся с его уста­нов­кой, как нибудь потом.
поэто­му свы­во­ро­бушкним­ся сле­ду­ю­щим образом:

у нас име­ет­ся windows 7 на в домаш­ней дирек­то­рии кото­рой и лежат наши фай­лы, откро­ем для него доступ для всех:

так мы рас­ша­ри­ли пап­ку с нашим фай­лом. Теперь перей­дём с наше­му вир­ту­аль­но­му сер­ве­ру и под­клю­чим эту папку:

yum install cifs-utils

[root@centos7 ]# mount -t cifs -o username=Андрей //192.168.1.5/anton /mnt/
Password for Андрей@//192.168.1.5/anton:

здесь
Андрей - поль­зо­ва­тель windows
192.168.1.5 - ip адрес windows

паро­ля у меня нет поэто­му при выпол­не­нии коман­ды про­сто нажал enter

теперь нам нужен web сер­вер кото­рый будет отда­вать наши фай­лы, поста­вим лег­ко­вес­ный nginx

[root@centos7 ~]# yum install nginx

настро­им виртуалхост

[root@centos7 ~]# cat /etc/nginx/conf.d/test-server.conf

попра­вим основ­ной кон­фиг чтоб не было конфликтов.

[root@centos7 ~]# sed -i 's|server_name _|server_name default|' /etc/nginx/nginx.conf

запу­стим nginx:
[root@centos7 ~]# systemctl start nginx

про­ве­рим рабо­ту, прой­дём по
http://192.168.1.170/

долж­но отоб­ра­зить­ся содержимое:

пер­вый этап настроен.

 

Теперь перей­дём к про­ки­ды­ва­нию доступа:

Для это­го исполь­зу­ем ути­ли­ту ngrok

идём на сайт:
https://ngrok.com/download

кача­ем архив для линукса:

[root@centos7 ~]# wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip

рас­па­ко­вы­ва­ем:

[root@centos7 ~]# unzip ngrok-stable-linux-amd64.zip

далее если у вас нету акка­ун­та то реги­стри­ру­е­те его:
https://dashboard.ngrok.com/signup

попа­да­е­те в основ­ное меню:

тут вы види­те токен, и выпол­ня­е­те ука­зан­ную команду:

[root@centos7 ~]# ./ngrok authtoken 1bfAaeh--------1368QeS7tukVC6S
Authtoken saved to configuration file: /root/.ngrok2/ngrok.yml

теперь запу­стим тунель на 80 порту:

[root@centos7 ~]# ./ngrok http -host-header=rewrite 192.168.1.170:80

где 80 явля­ет­ся пор­том ваше­го сер­ве­ра,  а 192.168.1.170  доме­ном, по кото­ро­му он отвечает.

прой­дём по:
http://aec02f60.ngrok.io
и видим:

на этом всё.