xinetdサービスを再起動すると、rshは「poll:プロトコルが回線設定に失敗しました」と表示します。

xinetdサービスを再起動すると、rshは「poll:プロトコルが回線設定に失敗しました」と表示します。

私はさまざまなフォーラムで多くを検索しており、ほとんどの場合、ファイアウォールでポートを開いたりサービスを再開したりすることが解決策であることを示していますxinetd。場合によっては、これが解決策かもしれませんが、問題は別の問題であり、まだ解決する必要があると思います。

Red Hat 6があり、サービスがダウンしていて/iptables実行可能ファイルを変更していません。rshdrsh

最初にシステムを起動したとき、rshは正常に動作しました。

# rsh localhost pwd
/root

「xinetd」サービスを再起動すると、「ポーリング:回線設定でプロトコルが失敗しました」という既知のメッセージが表示されます。

# service xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]
# rsh localhost pwd
poll: protocol failure in circuit setup

この問題を解決するには2つの方法があります。システムを再起動するか、レベル2に移動します。

# init 2; sleep 1; init 3
# rsh localhost pwd
/root

根本的な原因を見つけたいです。これはファイアウォールの問題ではありません。

strace失敗時の出力は次のとおりです。 (強調された段落を参照)

ソケット(PF_INET、SOCK_STREAM、IPPROTO_IP)= 3
バインディング(3, {sa_family = AF_INET, sin_port = htons(1023), in_addr = inet_addr("0.0.0.0")}, 16) = 0
fcntl(3, F_SETOWN, 23277) = 0
接続(3, {sa_family=AF_INET, sin_port=htons(514), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
ソケット(PF_INET、SOCK_STREAM、IPPROTO_IP)= 4
バインディング(4, {sa_family=AF_INET, sin_port=htons(1022), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
リスニング(4、1)= 0
書き込み(3, "1022\0", 5) = 5
poll([{fd=3, イベント=POLLIN}, {fd=4, イベント=POLLIN}], 2, -1) = 1([{fd=3, revents=POLLIN|POLLERR|POLLHUP}])
write(2, "ポーリング: 回路でプロトコルが失敗しました"..., 40) = 40
オフ(4) = 0
オフ(3) = 0
rt_sigprocmask(SIG_SETMASK, [], [URG], 8) = 0
グループ終了(1)

strace正常に動作したときの出力は次のとおりです。 (強調された段落を参照)

ソケット(PF_INET、SOCK_STREAM、IPPROTO_IP)= 3
バインディング(3, {sa_family = AF_INET, sin_port = htons(1023), in_addr = inet_addr("0.0.0.0")}, 16) = 0
fcntl(3, F_SETOWN, 24718) = 0
接続(3, {sa_family=AF_INET, sin_port=htons(514), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
ソケット(PF_INET、SOCK_STREAM、IPPROTO_IP)= 4
バインディング(4, {sa_family=AF_INET, sin_port=htons(1022), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
リスニング(4、1)= 0
書き込み(3, "1022\0", 5) = 5
poll([{fd=3, イベント=POLLIN}, {fd=4, イベント=POLLIN}], 2, -1) = 1([{fd=4, revents=POLLIN}])
accept(4, {sa_family = AF_INET, sin_port = htons(1020), in_addr = inet_addr("127.0.0.1")}, [16]) = 5
オフ(4) = 0
writev(3, [{"root\0", 5}, {"root\0", 5}, {"pwd\0", 4}], 3) = 14
読み取り(3, "\0", 1) = 1
rt_sigprocmask(SIG_SETMASK, [], [URG], 8) = 0
setuid(0) = 0
rt_sigprocmask(SIG_BLOCK, [INT QUIT TERM], [], 8) = 0
rt_sigaction(SIGINT, {SIG_IGN, [INT], SA_RESTORER|SA_RESTART, 0x2abd2e3c1920}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, {0x2abd2db30080, [INT], SA_RESTORER|SA_RESTART, 0x2abd2e3c1920}, {SIG_IGN, [INT], SA_RESTORER|SA_RESTART, 0x2abd2e3c1920}, 8)
rt_sigaction(SIGQUIT, {SIG_IGN, [終了], SA_RESTORER|SA_RESTART, 0x2abd2e3c1920}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {0x2abd2db30080, [終了], SA_RESTORER|SA_RESTART, 0x2abd2e3c1920}, {SIG_IGN, [終了], SA_RESTORER|SA_RESTART, 0x2abd2e3c1920}, 1
rt_sigaction(SIGTERM, {SIG_IGN, [用語], SA_RESTORER|SA_RESTART, 0x2abd2e3c1920}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {0x2abd2db30080, [用語], SA_RESTORER|SA_RESTART, 0x2abd2e3c1920}, {SIG_IGN, [用語], SA_RESTORER|SA_RESTART, 0x2abd2e3c1920}, 8
クローン (child_stack = 0, フラグ = CLONE_CHILD_CLEARTID | CLONE_CHILD_SETTID | SIGCHLD, child_tidptr = 0x2abd2eb893b0) = 24721
ioctl(5, FIONBIO, [1]) = 0
ioctl(3, FIONBIO, [1]) = 0
rt_sigprocmask(SIG_SETMASK, [], [INT 終了期間], 8) = 0
select(6, [3 5], NULL, NULL, NULL) = 1([3] から)
読み取り(3, "/root\n", 8192) = 6
書き込み(1, "/root\n", 6) = 6
select(6, [3 5], NULL, NULL, NULL) = 1([3] から)
読み取り(3,"",8192) = 0
select(6, [5], NULL, NULL, NULL) = 1([5] から)
読み取り(5,"",8192) = 0
キル(24721,SIGKILL) = 0
グループ終了(0)=?

助けてくれてありがとう。

ありがとう、

オクタビオ

ベストアンサー1

おすすめ記事