Сразу оговорюсь - я не стану затрагивать вопросов установки программ вроде Apache или вопросы безопасности (сделав компьютер доступным извне, мы увеличиваем число грозящих ему опасностей).
Мои исходные данные: компьютер под управлением Fedora 7, подключенный к нему через Ethernet ADSL-модем/роутер ASUS AAM 6020 BI и подключение к интернету через Стрим. Но, думаю, приведенная ниже информация может быть полезной и пользователям других операционных систем, модемов и провайдеров.
1. ВЫВОД КОМПЬЮТЕРА ЧЕРЕЗ ФАЙРВОЛ В "ОТКРЫТЫЙ ИНЕТ"
Зайдем в настройки роутера: Advanced -> LAN Clients и добавим домашний компьютер,введя его локальный IP, произвольное Hostname и MAC-адрес его сетевой карточки.
2. ПЕРЕАДРЕСАЦИЯ ПОРТОВ
Перейдем во вкладку Advanced -> Port Forwarding. Если бы я была подключена через какого-либо другого провайдера, то для вывода компьютера "в большой интернет" я могла бы выбрать категорию Servers и добавить (Add >) из списка готовых правил правило Web Server. Но в Стриме порт 80, использующийся протоколом HTTP, закрыт. Поэтому придется организовать обращение к серверу через другой, не перекрытый порт - например, 8880. Проверить, какие порты у вас открыты, а какие закрыты, можно на http://www.dyndns.com/support/tools/open
Protocol: TCP
Port Start: 8880
Port End: 8880
Port Map: 80
То есть обращения к портам, находящимся в диапазоне Port Start - Port End (в нашем случае это единственный порт 8880) будут перенаправляться на 80-й порт.
Порт 22, использующийся в для SSH-доступа в Стриме не перекрыт. К сожалению, готового правила для SSH-доступа на роутере не оказалось, поэтому если необходим SSH-доступ, создадим еще одно правило. Назовем его SSH и пропишем во всех трех окошках порт 22.
Для FTP-доступа также придется создать правило. Как и в случае с HTTP, 21-й порт перекрыт, поэтому создадим еще одно правило: FTP8881
Protocol: TCP
Port Start: 8881
Port End: 8881
Port Map: 21
Создав новые правила, добавим их: Add -> и сохраним изменения: Tools -> System Commands -> Save All.
3. ИМЯ ДЛЯ СЕРВЕРА
Теперь, после перенастройки портов, из интернета можно получить доступ к веб- и фтп-серверам, крутящимся на домашнем компе. Правда, придется указывать порт и внешний IP домашнего компа. Чтобы вместо IP указывать "человеческое" доменное имя (например, vasya.dyndns.org), воспользуемся бесплатным сервисом www.dyndns.com. Кстати, выяснить свой внешний IP можно опять же с помощью этого сайта: на checkip.dyndns.com. Зайдем на www.dyndns.com и заведем новый эккаунт. Теперь надо настроить эккаунт, перейдя на этом сайте по My Services -> Host Services и прописав в IP Address Ваш внешний IP. Узнать его можно как с помощью указанной выше ссылки checkip.dyndns.com, так и зайдя в меню роутера Status -> Connection Status.
Отныне к HTTP-серверу компьютера можно обращаться по vasya.dyndns.org:8880, а к FTP-серверу - по vasya.dyndns.org:8881. Вроде бы все хорошо, но есть еще одна проблема.
4. БОРЬБА С КОВАРНЫМ СТРИМОМ, ПОСТОЯННО МЕНЯЮЩИМ IP
Как правило, раз в сутки динамические IP клиентов Стрима принудительно меняются. DynDns позволяет привязать вечно меняющийся IP домашнего компа к доменному имени. Некоторые роутеры умеют работать с сервисом DynDns, и в них можно настроить автоматическое обновление dyndns-эккаунта при изменении вашего внешнего IP. Мой роутер таким трюкам оказался не обучен. Если роутер не может - пусть это делает компьютер. Скачаем с http://www.dyndns.com/support/clients/ одну из утилит. Для Линукса я выбрала inadyn. Будучи запущенной, эта утилита при смене внешнего IP будет обновлять его в Вашем dyndns-эккаунте. Есть там аналогичные утилиты и для других операционных систем. Но вернемся к inadyn. Скачав и распаковав архив с дистрибутивом утилиты, я открыла распаковавшийся файл readme.html и настроила утилиту в соответствии с приведенными в нем инструкциями:
- создала файл /etc/inadyn.conf, в который прописала 6 строк:
log_file /var/log/inadyn.log
username мой_логин_в_dyndns.com
password мой_пароль_в_dyndns.com
background
update_period 60000
alias vasya.dyndns.org
Далее скопируем утилиту inadyn в каталог /opt и под root'ом запустим:
# /opt/inadyn
И все! Проверить, что inadyb "сидит" в памяти можно командой
# ps -efH | grep inadyn
Чтобы не запускать все это великолепие каждый раз вручную, допишем в конец файла /etc/rc.local строку:
/opt/inadyn
5. URL БЕЗ ":8880"
Если веб-сервер нужен для персонального использования, описанных выше телодвижений вполне хватит. Но для публичного веб-сервера необходимость обращаться к vasya.dyndns.org:8880 вместо vasya.dyndns.org - не самый удобный вариант. Можно, например, где-нибудь захоститься по бесплатному или самому дешевому тарифу и разместить на хостинге страничку, которая будет переводить посетителя на vasya.dyndns.org:8880. Но можно воспользоваться еще одной услугой DynDns: My Services - > Add New Hostname. Создадим еще одно доменное имя, например, vasya.homelinux.org, но в качестве Service Type: вместо Host with IP address укажем WebHop Redirect и в появившемся поле Redirect URL пропишем http://vasya.dyndns.org:8880/. Сохраним изменения кнопкой Save Changes. Теперь при заходе на vasya.homelinux.org браузер будет автоматически переадресовываться на http://vasya.dyndns.org:8880/. Спасибо
January 18 2008, 21:28:24 UTC 4 years ago
January 18 2008, 23:36:07 UTC 4 years ago
Anonymous
January 19 2008, 09:38:54 UTC 4 years ago
Отлично!
Спасибо, Вам за подробное описание и труды!Пойду опробую.
Еще раз Спасибо.
January 19 2008, 09:48:49 UTC 4 years ago
Re: Отлично!
Не за что :) На самом деле я такие самодельные инструкции делаю в основном для себя - потому, что если во второй раз придется сделать то же самое, просто не буду помнить с чего начать. Если Вы Аноним из одного из предыдущих постингов, была бы благодарна хотя бы за небольшую информацию по аналогичным телодвижениям под Виндами :)January 19 2008, 17:57:00 UTC 4 years ago
:)
http://lims007.livejournal.com/168029.h
January 19 2008, 23:40:48 UTC 4 years ago
параметры похожи:
daemon=300 # check every 300 seconds
syslog=yes # log update msgs to syslog
mail-failure=root # mail failed update msgs to root
pid=/var/run/ddclient.pid # record PID in file.
ssl=yes # use ssl-support. Works with
# ssl-library
use=if, if=dsl0
login=:)
password=:)
wildcard=yes
protocol=dyndns2
server=members.dyndns.org
мойкомп.homelinux.net
Но я по большей части домой захожу по ssh
January 22 2008, 06:32:18 UTC 4 years ago
January 22 2008, 08:52:51 UTC 4 years ago
Как говориться, заодно и контроль версий. Да и старый добрый cvs работает поверх ssh.
January 22 2008, 09:51:03 UTC 4 years ago
January 22 2008, 12:26:42 UTC 4 years ago
Есть также web-interface-ы для svn, в нем ты файл upload-шь (не через тесктовые поля!!!). Вполне может быть можно сразу пачку. По крайне мере, для svn это характерно.
January 22 2008, 12:35:52 UTC 4 years ago
Ну и тут глянь, может что подойдет: http://svnkit.com/
January 22 2008, 12:49:05 UTC 4 years ago
January 22 2008, 14:29:04 UTC 4 years ago
Там в списке есть Syncro SVN Client, он как я понял java, может его удасться запустить?
January 22 2008, 14:42:35 UTC 4 years ago
January 22 2008, 14:47:29 UTC 4 years ago
4 years ago
4 years ago
4 years ago
January 22 2008, 14:33:02 UTC 4 years ago
Subversion - Python, Perl, Java, and Ruby bindings to Subversion API analogous to the core C API
January 22 2008, 14:34:05 UTC 4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
January 22 2008, 14:43:57 UTC 4 years ago
January 22 2008, 06:53:33 UTC 4 years ago
January 22 2008, 08:48:40 UTC 4 years ago
January 22 2008, 09:45:41 UTC 4 years ago
January 22 2008, 10:34:25 UTC 4 years ago
А у тебя suse?
January 22 2008, 10:49:47 UTC 4 years ago
January 22 2008, 11:10:39 UTC 4 years ago
У тебя тоже должен быть ddclient под рукой:
http://fr2.rpmfind.net//linux/RPM/fedor
January 22 2008, 11:22:55 UTC 4 years ago