TCP/IPv6 소켓을 수신하는 두 개의 서비스가 있고 ... 다음을 표시 ssh
합니다 .mysql
ss
$ ss -tl6
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 [::]:ssh [::]:*
LISTEN 0 80 *:mysql *:*
ssh
및 에 대해 "로컬 주소"와 "피어 주소"가 다르게 표시되는 이유는 무엇입니까 mysql
? 즉, "[::]"와 "*" 뒤에 어떤 의미가 있다면 어떨까요? netstat
디스플레이에는 차이가 없습니다(둘 다 "::"임) .
sudo netstat -natlp6
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::22 :::* LISTEN 26240/sshd
tcp6 0 0 :::3306 :::* LISTEN 23933/mysqld
고쳐 쓰다@Amir가 의견에서 지적했듯이 실제로 두 서비스 사이에는 차이점이 있습니다. sshd
두 개의 개방형 소켓이 있는데, 하나는 ipv4 전용이고 다른 하나는 ipv6용입니다. 반면에 mysqld
ipv6 소켓은 하나뿐입니다.
$ pgrep mysqld
23933
$ pgrep sshd
26240
$ sudo lsof -a -p 23933 -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 23933 mysql 27u IPv6 6062236 0t0 TCP *:mysql (LISTEN)
$ sudo lsof -a -p 26240 -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 26240 root 3u IPv4 6106855 0t0 TCP *:ssh (LISTEN)
sshd 26240 root 4u IPv6 6106857 0t0 TCP *:ssh (LISTEN)
SSH 구성에서 ipv4를 비활성화했지만 ss
여전히 두 가지가 다른 것으로 표시되지만 @Amir가 언급한 것처럼 다른 유형의 ipv6/ipv4 지원일 수 있습니까?