Неверный аргумент при запуске службы Cloud9 при запуске

Ответ @Julie Pelletier на 100% правильный, но, вероятно, вам не очень понятен.

Во-первых, как упоминалось несколько раз в комментариях, метка не помещена в пакет Ethernet на проводе. Таким образом, если вы отправите эхо-запрос на сервер B с сервера A, сервер B никогда не сможет обнаружить метку. Если вы хотите что-то сделать, вам придется использовать только сервер A. Итак, вам нужно будет вставить / добавить правило в цепочку OUTPUT отправителя , чтобы увидеть что-нибудь.

Теперь давайте посмотрим, как использовать iptables . Во-первых, мы хотим увидеть, какие правила активны в OUTPUT:

root@roran:~# iptables -L OUTPUT -n -v
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination                                                                                           
root@roran:~#

Хорошо, никаких правил. Определим правило:

root@roran:~# iptables -I OUTPUT -m mark --mark 0xa -j ACCEPT
root@roran:~#

Как видите, вывода нет. Но в таблице ядра теперь есть запись:

root@roran:~# iptables -L OUTPUT -n -v
Chain OUTPUT (policy ACCEPT 177 packets, 120K bytes)
 pkts bytes target     prot opt in     out     source               destination                                                                                           
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0  mark match 0xa
root@roran:~#

Столбцы «pkts» и «bytes» оба равны 0, так как пакеты еще не отправлены. Теперь выполните эхо-запрос другого сервера без установки метки:

root@roran:~# ping -c 1 bermuda
PING bermuda (192.168.178.2) 56(84) bytes of data.
64 bytes from bermuda (192.168.178.2): icmp_seq=1 ttl=64 time=0.331 ms
[... some more lines omitted]

После этого таблица ядра по-прежнему ничего не сопоставила:

root@roran:~# iptables -L OUTPUT -n -v
Chain OUTPUT (policy ACCEPT 348 packets, 160K bytes)
 pkts bytes target     prot opt in     out     source               destination                                                                                           
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0  mark match 0xa
root@roran:~#

Затем попробуйте выполнить эхо-запрос с установленной меткой:

root@roran:~# ping -m 10 -c 1 bermuda
PING bermuda (192.168.178.2) 56(84) bytes of data.
64 bytes from bermuda (192.168.178.2): icmp_seq=1 ttl=64 time=0.324 ms
[... some more lines omitted]

и посмотрите на таблицу еще раз:

root@roran:~# iptables -L OUTPUT -n -v
Chain OUTPUT (policy ACCEPT 631 packets, 319K bytes)
 pkts bytes target     prot opt in     out     source               destination                                                                                           
    1    84 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0  mark match 0xa
root@roran:~#

Теперь правило нашло один пакет размером 84 байта.

Если вы хотите поэкспериментировать, после этого выполните iptables -F OUTPUT , чтобы очистить таблицу; iptables -I OUTPUT -m mark --mark 0x0a -j REJECT для предотвращения выхода помеченных пакетов с вашего компьютера, затем эхо-запрос на другой компьютер с отметкой и без нее. Вы увидите, что отмеченные пакеты не получают ответа, теперь, когда правило их отбрасывает.

3
12.10.2016, 19:40
1 ответ

Ваша первая подсказка заключается в том, что диагностика сообщила, что проверяет вывод systemctl status cloud9.service , но вы не упомянули о выполнении это или совместное использование этого вывода.

Возможно, он скажет вам, что путь двоичного файла, который вы передаете ExecStart = , должен быть абсолютным.

6
27.01.2020, 21:12

Теги

Похожие вопросы