Хостинг на raspberry pi

Хостинг на raspberry pi

Привіт дорогий Новомосковсктель!

Сьогодні я Хочу розповісти про те як за допомогою Raspberry Pi можна організувати технологію NAT Loopback в домашніх маршрутизаторах на прикладі Wi-Fi роутера D-Link DIR-620.

Взагалі щоб було зрозуміло що це таке [NAT Loopback] спробую простенько розповісти.

Прямо зсередини локальної мережі можна перевірити, як налаштовані мережеві служби.

Доступ до сервера, що знаходиться в локальній мережі, по доменному імені. Без NAT loopback довелося б правити файл hosts на кожній машині для кожного задіяного домену та поддомена.

Недоліком NAT loopback можна вважати підвищене навантаження на хаб і маршрутизатор (в порівнянні з прямим доступом до сервера).

Зате було з'ясовано що до модему можна підключитися через telnet і виконати пару команд, які цей механізм NAT Loopback реалізують, мінус в цьому є, що всі ці дії допомагають тільки до перезавантаження роутера.

Вважаю це не страшним так як у мене в принципі повноцінний сервер, якому нічого не варто виконувати ці команди за планувальником і при включенні. Основний заковика було те, що у мене динамічний зовнішній IP і його якось треба дізнаватися.

першим варіантом було якось парсити результати відповіді від якогось 2ipru, але результати запиту з google показали існування іншого сервісу - icanhazip.com. Саме він мені і сподобався, так як віддає чистий текст, який не потрібно парсити, а просто брати і використовувати.

На форумі D-Link мені підказали що виконувати по telnetу

iptables -t nat -A POSTROUTING -d 192.168.0.80 -s 192.168.0.0/24 -p tcp --dport 21 -j SNAT --to-source 192.168.8.103

iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d 192.168.8.103 -p tcp --dport 21 -j DNAT --to-destination 192.168.0.80

Після недовгих роздумів був написаний невеликий bash скриптик

echo "Логін Адміністратора"

echo "Пароль Адміністратора"

echo "iptables -t nat -A POSTROUTING -d 192.168.0.89 -s 192.168.0.0/24 -p tcp --dport 80 -j SNAT --to-source $ WAN_IP"

echo "iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d $ WAN_IP -p tcp --dport 80 -j DNAT --to-destination 192.168.0.89"

Власне все що хотів сьогодні Вам розповісти.