Я работаю в компании по веб-разработке среднего размера. Наша интранет работала сложенный двойным образом приблизительно в течение года теперь. Наш интернет-провайдер еще не предоставляет IPv6, таким образом, мы используем туннель SixXs, который хорошо работает.
Наши общедоступные серверы размещаются в Колорадо и имеют собственную v6 возможность соединения с 6 месяцев. Все, что мы должны были сделать, было, спрашивают, который отчасти удивил меня. Не все hosters настолько далеко все же.
У меня был опыт нескольких лет с SixXs и IPv6 на моей домашней LAN, которая помогла много при реализации его на работе. К счастью управление понимает, что как webdev компания мы должны поддерживать и испытать много различных технологий, даже при том, что RoI еще не может быть очевидным. Наши причины совпали с Вашими: предвидение и выполнение его на наших условиях. Ваше планирование развертывания кажется разумным.
Наш опыт был главным образом положителен. Запуск рано помог моим программирующим коллегам привыкнуть к нему и адаптировать наши платформы и приложения для поддержки его. Вещи как проверка адреса IPv6 в PHP, например, для контроля ввода или для белого списка доступа, более тверды, чем мы сначала думали, таким образом, мы рады сделать это. Встроенная или общедоступная функциональность PHP была главным образом испорчена.
Проблема, с которой мы столкнулись, состоит в том, что, если возможность соединения IPv6 снижается, большинство хостов возьмет возрасты к нейтрализации к IPv4, и некоторые никогда не будут нейтрализация. Так как они предпочитают v6 по v4, они просто не соединятся. Некоторые приложения имеют переключатель для принуждения v4, но многие не делают. Удостоверьтесь, что протестировали это в своей лаборатории.
nmap
большой универсальный инструмент для таких вещей и очень еще.
nmap host.domain.tld
(или nmap host
для локальной машины, или nmap <ipaddr>
для проверки машины адресом не называют), перечислит, какие общие порты открыты.
nmap 192.168.23.1-254 -p 22,80,443
просканирует диапазон хостов адресом, чтобы видеть, открыты ли порты TCP, обычно связываемые с SSH, HTTP и HTTPS.
Посмотрите man nmap
для значительно большего количества опций - это - раковина инструментов проверки сети.
У Вас не может быть nmap, установленного в данный момент, но это находится в примерно всех репозиториях стандарта дистрибутивов. Для debian или вариантов человечности aptitude install nmap
установить его или найти его в диспетчере пакетов GUI по Вашему выбору. Если это не доступно легко в Вашей системе, получите его и больше информации из http://nmap.org/
Вы могли также просто использовать то же telnet
клиентский метод, с которым Вы уже знакомы, поскольку это доступно также и обычно устанавливаемое в одном из пакетов по умолчанию, но nmap
инструмент, который стоит узнать, поскольку это может быть полезно для диагностирования сетевых проблем, просто проверив, что вещи состоят в том, как они должны быть и так далее. Существует также несколько достойных графических фронтендов к нему, если Вы предпочли бы взаимодействовать с ним далеко от командной строки.
Если Вы используете удар, то страницы справочника указывают, что Вы могли записать в/dev/tcp/HostNameOrIP/port. Я использовал это несколько раз и если удаленный порт открыт, то нет никакого ответа. Если система не может соединиться с удаленным портом, то это указывает причину
[kevin@box ~]$ echo -n > /dev/tcp/www.yahoo.com/80
[kevin@box ~]$ nslookup www.no-such-domain.com
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find www.no-such-domain.com: NXDOMAIN
[kevin@box ~]$ echo -n > /dev/tcp/www.no-such-domain.com/80
-bash: www.no-such-domain.com: Name or service not known
-bash: /dev/tcp/www.no-such-domain.com/80: Invalid argument
[kevin@box ~]$ echo -n > /dev/tcp/192.168.3.3/80 #no such server on my network
-bash: connect: No route to host
-bash: /dev/tcp/192.168.3.3/80: No route to host
[kevin@box ~]$ echo -n > /dev/tcp/192.168.3.1/88 #nothing listening on port 88
-bash: connect: Connection refused
-bash: /dev/tcp/192.168.3.1/88: Connection refused
[kevin@box ~]$
Чтобы проверить, доступен ли порт в Bash, можно использовать следующую однострочную команду:
$ </dev/tcp/example.com/80 && echo Port is open || echo Port is closed
Port is open
Чтобы проверить вручную, используйте команду telnet
(как в Windows).
nmap
путь лучше, чемtelnet
для этой задачи. – David Z 15 July 2010 в 07:30