나는 한동안 Debian 9 SSH Jumpbox 호스트를 사용하여 스크립트/ansible 플레이북을 실행해 왔습니다. Jumbox는 주로 Debian 9 및 일부 Debian 8 서버와 통신합니다. 대부분의 서버는 VMWare Enterprise 5.5에서 실행되는 가상 머신입니다.
Jumbox의 SSH 클라이언트는 SSH MUX를 수행하고 RSA 인증서 파일을 통해 인증하도록 구성됩니다.
SSH는 수년 동안 잘 작동했지만 갑자기 SSH 연결에서 ssh_exchange_identification: read: Connection reset by peer
첫 번째 시도에서 하루에 여러 번 오류가 발생하기 시작했으며 이로 인해 분명히 내 스크립트와 개발 팀의 스크립트에 큰 피해를 입혔습니다.
그러나 첫 번째 시도 이후에는 한동안 괜찮았습니다. 서버의 잘못된 동작은 처음에는 무작위로 보이지만 몇 가지 패턴/시간 초과가 있습니다. 예를 들어 예상 스크립트/플레이북 전에 명령을 실행하는 등 모든 서버에 명령을 보내면 일부 서버는 실패하지만 다음 스크립트는 모든 서버에서 실행됩니다.
최근 보안 업데이트 외에 서버에 큰 변화는 없습니다. 데비안 9로의 전환은 한동안 진행되었습니다.
MTU(잘못된) 구성이나 여러 서버에 한 번 적용되어 실패하고 잊어버린 기타 구성을 발견했지만 이는 사실이 아닙니다. 또한 클라이언트측과 서버측 ControlPersist
모두 시간을 1시간으로 줄 ClientAliveInterval
였지만 상황이 개선되지 않았습니다.
그래서 현재로서는 왜 이런 일이 발생하는지 전혀 모르겠습니다. 그러나 저는 이것이 네트워크 문제라기보다는 레이어 7 문제라고 생각하는 경향이 더 큽니다.
Debian 9 클라이언트의 SSH 구성은 다음 /etc/ssh_config
과 같습니다.
Host *
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 1h
Compression no
UseRoaming no
여러 Debian 서버의 서버측 SSH에서:
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
UsePrivilegeSeparation yes
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin forced-commands-only
StrictModes yes
PubkeyAuthentication yes
IgnoreRhosts yes
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication no
X11Forwarding no
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server -l INFO
UsePAM yes
ClientAliveInterval 3600
ClientAliveCountMax 0
AddressFamily inet
SSH 버전:
고객 -
$ssh -V
OpenSSH_7.4p1 Debian-10+deb9u1, OpenSSL 1.0.2l 25 May 2017
섬기는 사람
SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u1 (Debian 9)
SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3 (Debian 8)
버전 4.9.0-0.bpo.1-amd64를 사용하는 두 대 이상의 서버에서 이 오류를 확인했습니다.
tcpdump
다음은 사이에 방화벽이 없는 동일한 네트워크에 두 대의 컴퓨터가 있는 경우 서버가 이상하게 동작하는 상황 입니다 . 또한 MAC 주소를 모니터링하고 지난 몇 년 동안 동일한 MAC 주소를 사용하여 새 시스템/MAC를 기록하지 않았습니다.
#tcpdump port 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
19:42:25.462896 IP jumbox.40270 > server.ssh: Flags [S], seq 3882361678, win 23200, options [mss 1160,sackOK,TS val 354223428 ecr 0,nop,wscale 7], length 0
19:42:25.463289 IP server.ssh > jumbox.40270: Flags [S.], seq 405921081, ack 3882361679, win 23200, options [mss 1160,nop,nop,sackOK,nop,wscale 7], length 0
19:42:25.463306 IP jumbox.40270 > server.ssh: Flags [.], ack 1, win 182, length 0
19:42:25.481470 IP server.ssh > jumbox.40270: Flags [S.], seq 4195986320, ack 3882361679, win 23200, options [mss 1160,nop,nop,sackOK,nop,wscale 7], length 0
19:42:25.481477 IP jumbox.40270 > server.ssh: Flags [.], ack 504902058, win 182, length 0
19:42:25.481490 IP server.ssh > jumbox.40270: Flags [R], seq 405921082, win 0, length 0
19:42:25.481494 IP server.ssh > jumbox.40270: Flags [P.], seq 504902058:504902097, ack 1, win 182, length 39
19:42:26.491536 IP server.ssh > jumbox.40270: Flags [S.], seq 4195986320, ack 3882361679, win 23200, options [mss 1160,nop,nop,sackOK,nop,wscale 7], length 0
19:42:26.491551 IP jumbox.40270 > server.ssh: Flags [R], seq 3882361679, win 0, length 0
19:42:28.507528 IP server.ssh > jumbox.40270: Flags [S.], seq 4195986320, ack 3882361679, win 23200, options [mss 1160,nop,nop,sackOK,nop,wscale 7], length 0
19:42:28.507552 IP jumbox.40270 > server.ssh: Flags [R], seq 3882361679, win 0, length 0
19:42:32.699540 IP server.ssh > jumbox.40270: Flags [S.], seq 4195986320, ack 3882361679, win 23200, options [mss 1160,nop,nop,sackOK,nop,wscale 7], length 0
19:42:32.699556 IP jumbox.40270 > server.ssh: Flags [R], seq 3882361679, win 0, length 0
19:42:40.891490 IP server.ssh > jumbox.40270: Flags [S.], seq 4195986320, ack 3882361679, win 23200, options [mss 1160,nop,nop,sackOK,nop,wscale 7], length 0
19:42:40.891514 IP jumbox.40270 > server.ssh: Flags [R], seq 3882361679, win 0, length 0
19:42:57.019511 IP server.ssh > jumbox.40270: Flags [S.], seq 4195986320, ack 3882361679, win 23200, options [mss 1160,nop,nop,sackOK,nop,wscale 7], length 0
19:42:57.019534 IP jumbox.40270 > server.ssh: Flags [R], seq 3882361679, win 0, length 0
ssh -v server
재설정 오류로 인한 연결 실패 로그:
OpenSSH_7.4p1 Debian-10+deb9u1, OpenSSL 1.0.2l 25 May 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: /etc/ssh/ssh_config line 59: Deprecated option "useroaming"
debug1: auto-mux: Trying existing master
debug1: Control socket "/tmp/ssh_mux_fenix-storage_22_rui" does not exist
debug1: Connecting to fenix-storage [10.10.32.156] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
write: Connection reset by peer
ssh -v server
연결이 성공하면:
OpenSSH_7.4p1 Debian-10+deb9u1, OpenSSL 1.0.2l 25 May 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: /etc/ssh/ssh_config line 59: Deprecated option "useroaming"
debug1: auto-mux: Trying existing master
debug1: Control socket "/tmp/ssh_mux_sql01_22_rui" does not exist
debug1: Connecting to sql01 [10.20.10.88] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/rui/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u1
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4p1 Debian-10+deb9u1
debug1: match: OpenSSH_7.4p1 Debian-10+deb9u1 pat OpenSSH* compat 0x04000000
debug1: Authenticating to sql01:22 as 'rui'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: rsa-sha2-512
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ssh-rsa SHA256:6aJ+ipXRZJfbei5YbYtvqKXB01t1YO34O2ChdT/vk/4
debug1: Host 'sql01' is known and matches the RSA host key.
debug1: Found key in /home/rui/.ssh/known_hosts:315
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/rui/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: Authentication succeeded (publickey).
Authenticated to sql01 ([10.20.10.88]:22).
debug1: setting up multiplex master socket
debug1: channel 0: new [/tmp/ssh_mux_sql01_22_rui]
debug1: control_persist_detach: backgrounding master process
debug1: forking to background
debug1: Entering interactive session.
debug1: pledge: id
debug1: multiplexing control connection
debug1: channel 1: new [mux-control]
debug1: channel 2: new [client-session]
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug1: Sending environment.
debug1: Sending env LC_ALL = en_US.utf8
debug1: Sending env LANG = en_US.UTF-8
debug1: mux_client_request_session: master session id: 2
흥미롭게도 이 동작은 telnet 명령을 사용하여 재현할 수 있습니다.
$ telnet remote-server 22
Trying x.x.x.x...
Connected to remote-server
Escape character is '^]'.
Connection closed by foreign host.
$ telnet remote-server 22
Trying x.x.x.x...
Connected to remote-server
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u1
Protocol mismatch.
Connection closed by foreign host.
고쳐 쓰다:
점프 상자에서 클라이언트 구성을 강제로 수행합니다 Protocol 2
. /etc/ssh_client
잔돈을 유지해주세요.
업데이트 2:
DES-EDE3-CBC를 사용하여 암호화된 이전 키를 AES-128-CBC를 사용하여 암호화된 새 키로 변경합니다. 이번에도 눈에 띄는 변화는 없습니다.
업데이트 3:
흥미롭게도 이는 멀티플렉서가 활성 상태일 때 자체적으로 발생하지 않습니다.
업데이트 4:
또한 serverfault에서 비슷한 질문을 찾았지만 답변이 선택되지 않았습니다.https://serverfault.com/questions/445045/ssh-connection-error-ssh-exchange-identification-read-connection-reset-by-pe
sshd: ALL
성공하지 못한 채 SSH 호스트 키 재생성을 시도했습니다.
업데이트 5
대상의 VM에서 콘솔을 열었고 "이상한" 것을 발견했습니다. tcpdump 및 1.1.1.1은 점프 상자입니다.
# tcpdump -n -vvv "host 1.1.1.1"
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
11:47:45.808273 IP (tos 0x0, ttl 64, id 38171, offset 0, flags [DF], proto TCP (6), length 60)
1.1.1.1.37924 > 1.1.1.2.22: Flags [S], cksum 0xfc1f (correct), seq 3260568985, win 29200, options [mss 1460,sackOK,TS val 407355522 ecr 0,nop,wscale 7], length 0
11:47:45.808318 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
1.1.1.2.22 > 1.1.1.1.37924: Flags [S.], cksum 0x5508 (incorrect -> 0x68a8), seq 2881609759, ack 3260568986, win 28960, options [mss 1460,sackOK,TS val 561702650 ecr 407355522,nop,wscale 7], length 0
11:47:45.808525 IP (tos 0x0, ttl 64, id 38172, offset 0, flags [DF], proto TCP (6), length 52)
1.1.1.1.37924 > 1.1.1.2.22: Flags [.], cksum 0x07b0 (correct), seq 1, ack 1, win 229, options [nop,nop,TS val 407355522 ecr 561702650], length 0
11:47:45.808917 IP (tos 0x0, ttl 64, id 38173, offset 0, flags [DF], proto TCP (6), length 92)
1.1.1.1.37924 > 1.1.1.2.22: Flags [P.], cksum 0x6de0 (correct), seq 1:41, ack 1, win 229, options [nop,nop,TS val 407355522 ecr 561702650], length 40
11:47:45.808930 IP (tos 0x0, ttl 64, id 1754, offset 0, flags [DF], proto TCP (6), length 52)
1.1.1.2.22 > 1.1.1.1.37924: Flags [.], cksum 0x5500 (incorrect -> 0x0789), seq 1, ack 41, win 227, options [nop,nop,TS val 561702651 ecr 407355522], length 0
11:47:45.822178 IP (tos 0x0, ttl 64, id 1755, offset 0, flags [DF], proto TCP (6), length 91)
1.1.1.2.22 > 1.1.1.1.37924: Flags [P.], cksum 0x5527 (incorrect -> 0x70c1), seq 1:40, ack 41, win 227, options [nop,nop,TS val 561702654 ecr 407355522], length 39
11:47:45.822645 IP (tos 0x0, ttl 64, id 21666, offset 0, flags [DF], proto TCP (6), length 40)
1.1.1.1.37924 > 1.1.1.2.22: Flags [R], cksum 0xaeb1 (correct), seq 3260569026, win 0, length 0
11:47:50.919752 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1.1.1.2 tell 1.1.1.1, length 46
11:47:50.919773 ARP, Ethernet (len 6), IPv4 (len 4), Reply 1.1.1.2 is-at 00:50:56:b9:3d:2b, length 28
11:47:50.948732 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1.1.1.1 tell 1.1.1.2, length 28
11:47:50.948916 ARP, Ethernet (len 6), IPv4 (len 4), Reply 1.1.1.1 is-at 00:50:56:80:57:1a, length 46
^C
11 packets captured
11 packets received by filter
0 packets dropped by kernel
업데이트 6
체크섬 오류로 인해 가상 머신의 NIC에 대한 TCP/UDP 체크섬 오프로드를 비활성화했지만 상황이 개선되지 않았습니다.
$sudo ethtool -K eth0 rx off
$sudo ethtool -K eth0 tx off
iface eth0 inet static
address 1.1.1.2
netmask 255.255.255.0
network 1.1.1.0
broadcast 1.11.1.255
gateway 1.1.1.254
post-up /sbin/ethtool -K $IFACE rx off
post-up /sbin/ethtool -K $IFACE tx off
VMware 환경의 TCP 체크섬 오프로드(TCO) 이해(2052904)
업데이트 7
GSSAPIAuthentication
Jumpbox의 SSH 클라이언트에서는 비활성화되었습니다. 테스트를 거쳤으며 Enable Compression yes
변경 사항이 없습니다.
업데이트 8
테스트용 패드 체크섬 iptables
.
/sbin/iptables -A POSTROUTING -t mangle -p tcp -j CHECKSUM --checksum-fill
이것은 상황을 개선하지 못했습니다.
업데이트 9:
제한된 비밀번호에 대한 흥미로운 테스트를 찾았으니 한번 시도해 보세요. MTU 문제는 원인이 아닌 것 같습니다. 어떤 경우에는 동일한 네트워크의 서버와 클라이언트 모두에 문제가 있었기 때문입니다.
현재 클라이언트에서 "ssh -c aes256-ctr"을 테스트하고 있으나 증상이 개선되지 않습니다.
SSH 클라이언트가 손상된 신비한 사례("피어에 의한 연결 재설정")
업데이트 10
에 추가하세요 /etc/ssh/ssh_config
. 변경사항이 없습니다.
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
SSH 문제: 소켓 읽기 실패: 피어에 의한 연결 재설정
업데이트 11
SSH 서비스는 포트 22와 포트 2222에 정의되어 있지만 아무런 효과가 없습니다.
업데이트 12
나는 이것이 OpenSSH 7.4에 존재하고 OpenSSH 7.5에서 수정된 회귀 버그라고 생각합니다.
OpenSSH 7.5 릴리스 노트
- sshd(8): SHA2 RSA 서명 방법이 올바르게 광고되지 않은 server-sig-algs 확장에 대한 OpenSSH 7.4 지원의 회귀 문제를 수정합니다. bz#2680
Debian 9/Stretch에서 openSSH 7.5를 사용하기 위해 openssh-client
Debian openssh-server
Testing/Buster를 설치했습니다.
상황은 개선되지 않았습니다.
업데이트 13
정의
비밀번호 aes256-ctr MAC hmac-sha1
클라이언트 측과 서버 측 모두에서. 개선이 없습니다.
업데이트 14
설정
UseDNS no
GSSAPIAuthentication no
GSSAPIKeyExchange no
잔돈을 유지해주세요.
업데이트 15
/etc/ssh/sshd_config
/etc/ssh/sshd_config로 변경합니다.
TCPKeepAlive no
~에서SSH에서 tcp-keepalive는 어떻게 작동하나요?
TCPKeepAlive는 TCP 계층에서 실행됩니다. [SSH 서버에서 클라이언트 - Rui로] 빈 TCP ACK 패킷을 보냅니다. 이러한 패킷을 무시하도록 방화벽을 구성할 수 있으므로 유휴 연결을 삭제하는 방화벽을 통과하면 이러한 패킷이 연결을 활성 상태로 유지하지 못할 수 있습니다.
내 생각엔 TCPKeepAlive가 아래 스택의 일부 계층에서 최적화/무시된 패킷을 보내도록 서버를 구성하고 있으며 원격 SSH 서버는 실제로 세션이 끊어졌을 때 여전히 TCP mux 클라이언트에 연결되어 있다고 생각합니다. ; 따라서 첫 번째 시도에서 TCP가 재설정됩니다.
따라서 일부 사람들은 ClientAliveInterval을 사용하면 TCPKeepAlive를 비활성화할 수 있다고 말하지만 ClientAliveInterval을 사용할 때는 TCPKeepAlive를 비활성화하는 것이 더 적절해 보입니다.
- 분명히 이 옵션은 설명에 있어서 대부분 추측이므로 시간이 있으면 해당 내용/출처를 다시 확인해야 합니다.
TCPKeepAlive에도 스푸핑 문제가 있는 것으로 보이므로 끄는 것이 좋습니다.
그래도 문제가 있습니다.
답변1
TCP 최적화를 시도하는 펌웨어나 장치를 사용하고 있습니까? 네트워크에서도 같은 경험을 했고, 알고보니 TCP에 최적화된 장치였습니다.
답변2
이는 Cisco 6059 FWSM 코어 라우터와 ASA 방화벽의 버그로 인한 것으로 밝혀졌습니다.
Linux 커널 v3 및 v4는 TCP 시퀀스 무작위화를 잘 처리하지 못하며 대용량 파일을 전송할 때 "무작위" 문제를 일으키거나 특히 SSH와 같은 여러 연결에서 다른 유형의 난독화 문제를 일으킬 수 있습니다. 아쉽게도 Windows, Mac, FreeBSD 모두 잘 돌아가기 때문에 어느 정도는 리눅스 버그라고도 할 수 있습니다.
사람들이 우리 웹사이트에서 임의의 파일을 다운로드할 수 없다고 불평하고 있기 때문에 이것은 매우 나쁜 상황입니다.
각 TCP 연결에는 두 개의 ISN이 있습니다. 하나는 클라이언트에서 생성되고 다른 하나는 서버에서 생성됩니다. ASA는 인바운드 및 아웃바운드 방향 모두에서 전달된 TCP SYN의 ISN을 무작위로 지정합니다.
보호된 호스트의 ISN을 무작위로 지정하면 공격자가 새 연결에 대한 다음 ISN을 예측하고 잠재적으로 새 세션을 하이재킹하는 것을 방지할 수 있습니다.
필요한 경우, 예를 들어 데이터가 왜곡되는 경우를 대비하여 TCP 초기 시퀀스 번호 무작위화를 비활성화할 수 있습니다. 예를 들어:
다른 인라인 방화벽도 초기 시퀀스 번호를 무작위로 지정하는 경우 이 작업이 트래픽에 영향을 주지 않더라도 두 방화벽 모두 이 작업을 수행할 필요가 없습니다.
처음에는 내부 코어 라우터에서 Cisco 무작위화를 비활성화했지만 그것만으로는 충분하지 않았습니다. 경계 방화벽 및 핵심 Cisco 라우터/스위치에서 Cisco 무작위화를 비활성화한 후에는 문제가 더 이상 발생하지 않습니다.
비활성화하려면 다음과 같습니다.
policy-map global_policy
class preserve-sq-no
set connection random-sequence-number disable
Cisco Notes를 참조하세요.TCP 시퀀스 무작위화 비활성화
또한 NAT 최적화를 위한 FWSM에서 관련 없는 XLATE 버그를 발견했습니다. 이는 기본적으로 활성화되어 허위 통신 문제를 일으키고 코어 라우터는 NAT를 담당하지 않기 때문에 비활성화됩니다.
xlate-bypass
xlate-bypass 활성화 위의 두 예에서 xlate는 Ii 플래그를 사용하여 생성되었습니다. 이러한 플래그는 xlate가 높은 보안(i) 인터페이스에서 파생된 ID 변환(I)임을 나타냅니다. 기본적으로 FWSM은 명시적인 NAT/PAT 규칙과 일치하지 않는 모든 트래픽에 대해 이러한 xlate를 구축합니다. 이 동작을 비활성화하려면 FWSM 3.2(1) 이상에서 xlate-bypass 명령을 활성화하면 됩니다.
FWSM(config)# xlate-우회
이는 기본 구성입니다. 우리는 내부 조사를 통해 이를 추적하는 데 수개월을 보냈으며 여기서 언급하지 않을 여러 관련 공급업체에서는 이러한 구성을 범인으로 정확히 찾아낼 수 없었습니다.
답변3
귀하의 증상은 SSH 서버와 동일한 IP 주소를 사용하는 네트워크의 컴퓨터와 일치하는 것 같습니다. RST 패킷의 MAC 주소를 확인하세요.
답변4
다음과 같은 일부 시스템을 찾았습니다.
net.ipv4.tcp_timestamps = 0
/etc/sysctl.conf에서 해당 서버에는 이 기능이 활성화되어 있습니다.
결국 영향을 받은 시스템에서 다음 줄을 가져와 모든 시스템에서 실행했습니다.
sudo sysctl -w net.ipv4.tcp_timestamps=1
추가 테스트를 기다리고 있습니다.