У меня есть экземпляр EC2, работающий в AWS. Когда я пытаюсь пинговать из своего локального ящика, он недоступен.
Как я могу сделать экземпляр pingable?
У меня есть экземпляр EC2, работающий в AWS. Когда я пытаюсь пинговать из своего локального ящика, он недоступен.
Как я могу сделать экземпляр pingable?
Добавить новую группу безопасности безопасности EC2 входящее правило:
Вам необходимо отредактировать группу безопасности, к которой принадлежит ваш экземпляр EC2, и разрешить доступ (или, альтернативно, создать новый и добавить экземпляр в она).
По умолчанию всем отказано. Исключение, которое необходимо добавить в группу безопасности, зависит от службы, которую необходимо сделать доступной в Интернете.
Если это веб-сервер, вам необходимо разрешить доступ к порту 80
для 0.0.0.0/0
(что означает любой IP-адрес).
Чтобы разрешить пингование экземпляра, вам необходимо включить ICMP-трафик.
Веб-консоль AWS предоставляет некоторые из наиболее часто используемых опций в соответствующем выпадающем списке.
Несколько лет спустя, но, надеюсь, это поможет кому-то еще...
1) Сначала убедитесь, что экземпляр EC2 имеет открытый IP-адрес. Если у вас есть Открытый DNS или Открытый IP-адрес (обведенный ниже), вы должны быть хорошими. Это будет ваш адрес.
2) Затем убедитесь, что сетевые правила Amazon разрешают запросы Echo. Перейдите в Группа безопасности для EC2.
3) Затем брандмауэр Windows блокирует входящие эхо-запросы по умолчанию. Разрешить эхо-запросы, создав исключение брандмауэра Windows...
4) Сделано! Надеюсь, теперь вы сможете выполнить ping-сервер.
Собственное правило ICMP в группе безопасности - это не то, что требуется, для меня. Но будет работать следующее правило:
Type: All ICMP
Protocol: TCP
Port range: 0 - 65535
Source: Anywhere - 0.0.0.0/0
После этого вы сможете пинговать другие экземпляры. Вы должны увидеть что-то вроде:
PING 10.0.0.15 (10.0.0.15): 56 data bytes
64 bytes from 10.0.0.14: icmp_seq=1 ttl=64 time=3.9 ms
64 bytes from 10.0.0.14: icmp_seq=2 ttl=64 time=3.9 ms
64 bytes from 10.0.0.14: icmp_seq=3 ttl=64 time=10.6 ms
64 bytes from 10.0.0.14: icmp_seq=4 ttl=64 time=40.6 ms
64 bytes from 10.0.0.14: icmp_seq=5 ttl=64 time=3.8 ms
64 bytes from 10.0.0.14: icmp_seq=6 ttl=64 time=5.3 ms
64 bytes from 10.0.0.14: icmp_seq=7 ttl=64 time=6.5 ms
64 bytes from 10.0.0.14: icmp_seq=8 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=9 ttl=64 time=21.0 ms
64 bytes from 10.0.0.14: icmp_seq=10 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=11 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=12 ttl=64 time=59.7 ms
64 bytes from 10.0.0.14: icmp_seq=13 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=14 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=15 ttl=64 time=4.8 ms
64 bytes from 10.0.0.14: icmp_seq=16 ttl=64 time=3.1 ms
64 bytes from 10.0.0.14: icmp_seq=17 ttl=64 time=3.1 ms
64 bytes from 10.0.0.14: icmp_seq=18 ttl=64 time=3.0 ms
64 bytes from 10.0.0.14: icmp_seq=19 ttl=64 time=3.1 ms
--- 10.0.0.14 ping statistics ---
20 packets transmitted, 19 packets received, 5% packet loss
round-trip min/avg/max = 3.0/9.9/59.7 ms
Вот и все.
Пожалуйста, пройдите нижеприведенные контрольные списки
1) Вы должны сначала проверить, запущен ли экземпляр в подсети, где он доступен из Интернета.
Для этого проверьте, подключен ли к запущенной экземпляру подсети интернет-шлюз. Для получения подробной информации о сети в AWS перейдите по ссылке ниже.
публичные и частные подсети в aws vpc
2) Проверьте, правильно ли добавлены правила группы безопасности. Если нет, добавьте приведенное ниже правило в группу безопасности, присоединенную к экземпляру. Группа безопасности - это брандмауэр, подключенный к каждому запущенному экземпляру. Группы безопасности содержат правила входящего/исходящего трафика, которые разрешают трафик в /out of instance.by по умолчанию для каждой группы безопасности разрешен весь исходящий трафик из экземпляра и нет входящего трафика в экземпляр. Для получения более подробной информации о трафике проверьте ссылку ниже.
документация группы безопасности
Тип: пользовательский ICMPV4
Протокол: ICMP
Portrange: эхо-запрос
Источник: 0.0.0.0/0
3) Проверьте, достаточно ли у вас правил в брандмауэре уровня подсети, называемом NACL. NACL - это брандмауэр без состояния, для которого требуется отдельно указывать как входящий, так и исходящий трафик. NACL применяется на уровне подсети, все экземпляры в подсети попадают под правила NACL. Ниже приведена ссылка, которая будет иметь более подробную информацию о нем.
Входящие правила. Исходящие правила
Тип: Пользовательский IPV4 Тип: Пользовательский IPV4
Протокол: ICMP Протокол: ICMP
Portrange: ECHO REQUEST Portrange: ЭХО ОТВЕТИТЬ
Источник: 0.0.0.0/0 Пункт назначения: 0.0.0.0/0
Разрешить/Запретить: Разрешить Разрешить/Запретить: Разрешить
4) проверьте все брандмауэры, такие как IPTABLES и отключите для проверки пинга.
Для меня работала новая группа безопасности со всеми ICMP.
Те, кто новичок в aws ec2 и хотят получить доступ к экземпляру из SSH, Broswer, Ping from system
, затем ниже - это правило для входящих: -
Перейдите в группу безопасности экземпляра EC2 и отредактируйте входящее правило, разрешающее 0.0.0.0/0 для ICMP.
Это будет работать.
У меня была более глубокая проблема: я создал VPC, подсеть и соответствующую группу безопасности, но пренебрегал добавлением интернет-шлюза и ассоциировал его с моей подсетью. Поскольку это мой первый результат Google для "Can not ping ec2", я размещаю эту информацию здесь, если это окажется полезным для кого-то другого (или я в будущем).
Три вещи, которые нужно запомнить, когда пинг не работает.
Иногда, когда вы используете бесплатный (t2.micro), пинг не работает. В этом случае остановите и запустите экземпляр, который должен работать.
terraform конкретные инструкции для группы безопасности, потому что -1 для меня не был очевиден.
resource "aws_security_group" "Ping" {
vpc_id = "${aws_vpc.MyVPC.id}"
ingress {
from_port = -1
to_port = -1
protocol = "icmp"
cidr_blocks = ["0.0.0.0/0"]
ipv6_cidr_blocks = ["::/0"]
}
}
Вы должны открыть следующий порт безопасности в группе безопасности. Каждое правило предназначено для разных целей, как показано ниже.
ВСЕ ICMP для ping.
HTTP для доступа к URL-адресу на HTTP-порту.
HTTPS для доступа к URL-адресу на защищенном HTTP-порту.
В соответствии с вашим требованием вы можете изменить ИСТОЧНИК
Это применимо только к Windows-машинам:
Открытие порта решает проблему частично для Windows VM.
На сервере Windows 2019 мне также пришлось настроить брандмауэр виртуальной машины. Опубликовать изменение брандмауэра (окно брандмауэра) я смог пинговать.
1.Go to EC2 Dashboard and click "Running Instances" on "Security Groups"
2.select the group of your instance which you need to add security.
3.click on the "Inbound" tab
4.Click "Edit" Button (It will open an popup window)
5.click "Add Rule"
6.Select the "Custom ICMP rule - IPv4" as Type
7.Enter the "0.0.0.0/0" as Source or your public IP
7.Нажмите "Сохранить"
Перейдите в свои группы безопасности сети и откройте все порты ICMP с IP-адресом исходной сети (ПК, на котором вы пингуете сервер). Через несколько секунд попробуйте снова пинговать. Обязательно ограничьте доступ общественности.
Да, вам нужно открыть доступ к порту. Посмотрите на группы безопасности http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
Ваш экземпляр EC2 должен быть прикреплен к группе безопасности, которая разрешает доступ, который вам нужен.
Если вы настроите правила как правило "Пользовательское ICMP" и "Ответ на эхо" в любом месте, он будет работать как чемпион. "Эхо-запрос" является неправильным правилом для ответа на сообщения.
У меня была та же проблема, что и для подключения от Linux-сервера к EC2, у вас есть два способа убедиться в том, что "ВСЕ ICMP" добавлено из EC2, как показано выше, и это само по себе не сработает, вам нужно обновить Ansible к новой версии 2.4, она не работала с моей предыдущей версией 2.2.
При проверке двух систем по умолчанию SSH включен (если вы подключили через шпатель или терминал). Чтобы разрешить пинг, я добавил группу безопасности для каждого экземпляра (входящего).
Убедитесь, что вы используете общедоступный IP-адрес экземпляра aws ec2 для ping.
отредактируйте группу безопасности, прикрепленную к вашему экземпляру EC2, и добавьте входящее правило для протокола ICMP.
попробуйте выполнить ping, если это не исправить, а затем добавьте правило исходящей почты для ICMP в группе безопасности.
При доступе к новым портам в экземпляре ec2. Вы добавили 2 места. 1. Входящие порты группы безопасности. 2. Входящие правила настройки брандмауэра.
Я хотел бы упомянуть о некоторых редких проблемах, связанных с ISP. Иногда со мной происходит с BSNL. это одна из тех странных проблем, которая занимает много часов из вашей повседневной жизни. В таком случае можно поднять проблему с интернет-провайдером или изменить ISP.