Тестирование сломанного IP - PullRequest
0 голосов
/ 11 марта 2010

Я пытаюсь протестировать приложение, и мне нужно, чтобы действительный IP-адрес не отвечал ни с одного из моих тестовых серверов, а с других. Я мог бы сделать это для fqdn, используя / etc / hosts, но я бы хотел сделать это для IP.

Чтобы прояснить, на самом деле я хочу, чтобы оба сервера отвечали, но мне нужно одно из устройств, к которым серверы могут подключаться только с одного из серверов. Я тестирую приложение мастер / рабочий и хочу убедиться, что мастер не может напрямую общаться с устройством.

Правило брандмауэра было бы идеальным, должно ли это быть реализовано на маршрутизаторе? Или есть способ, которым я мог бы сделать это на сервере. Я надеялся, что смогу что-то сделать непосредственно на устройствах разработчика, так как я «владею» ими, но мне понадобится поддержка ИТ для смены маршрутизатора. У меня есть доступ к Linux и Solaris dev, если у вас есть предложения по реализации правила брандмауэра.

Ответы [ 5 ]

1 голос
/ 13 марта 2010

Вот как я истолковал ваш вопрос.

У вас есть два сервера и устройство, которым управляет ОДИН из двух серверов. Оба сервера будут пытаться управлять устройством, но вы хотите, чтобы второй сервер не мог связаться с ним.

На втором сервере (при условии, что Linux) я запускаю

iptables -A OUTPUT --dst <dst of your device> -j DROP

это отбросит любой исходящий трафик на сервере, предназначенном для устройства.

1 голос
/ 11 марта 2010

Если вы не можете / не будете отключать сервер, добавьте правило брандмауэра, которое отбрасывает весь входящий трафик с этого сервера.

0 голосов
/ 12 марта 2010

звучит так, как будто вы хотите смоделировать приложение , которое не отвечает. Если да, то какое приложение? Если это что-то вроде PHP, то оператор сна - ваш друг. Если он спит 600 секунд, это выглядит как перегруженный сервер. Другой вариант для произвольных сервисов - netcat . Чтобы ваш сервер прослушивал порт 12345, но никогда не отвечал, используйте что-то вроде этого:

    nc -l -p 12345

или вы можете указать файл в качестве исходного ответа для имитации службы, которая отвечает только один раз, а затем становится глупой:

    echo -e "220 somehost.com ESMTP Postfix\n\r" | nc -q 1 -l -p 25
0 голосов
/ 11 марта 2010

Если я правильно понимаю, вы хотите, чтобы один из серверов не отвечал? Простой способ - просто выключить его (сервер).

0 голосов
/ 11 марта 2010

Есть несколько вариантов:

  • Отключите сервер.
  • Перезагрузите сервер. Это займет около минуты или около того.
  • Полностью выключите сервер.
  • Ударь его чем-нибудь тяжелым
...