Загружаем каталог…
Загружаем каталог…
3학년때 전공 수업으로 컴퓨터네트워크 열심히 들었는데 수업 내용은 이해가 돼도 문제를 풀라고 하면 하나도 풀리지가 않았던 기억이..^^; 그럼 내용 이해가 안 된거겠죠? 유독.. 네트워크쪽이 어렵드라~~ 이번에도 네트워크 관련 개념이 헷갈(잘 몰름)려서 공부 겸 정리해보려고 한다 일단 가상머신도 자동으로 설정되어 있는 ip가 있는데 나는 수동으로 ip 설정을 해주었다 IPv4와 IPv6 차이 둘 다 네트워크에서 기기를 구분하는 주소 체계이다 집 주소처럼, 데이터를 어디로 보낼지 알려주는 번호라고 보면 된다 항목 IPv4 IPv6 주소 길이 32비트 / 128비트 표기 192.168.56.10 (숫자 4덩이, 점으로 구분) / fe80::a00:27ff:fe4e:66a1 (16진수, 콜론으로 구분) 주소 개수 약 43억 개 / 사실상 무한대(약 3.4×1038개) 사용 현황 지금도 가장 널리 사용 / 점점 늘어나는 중 왜 IPv6가 생겼나? 인터넷이 커지면서 IPv4 주소 43억 개가 부족해졌다. 그래서 훨씬 넓은 주소 공간을 가진 IPv6가 만들어졌고, 공유기(NAT) 같은 기술로 IPv4 주소를 아껴 쓰면서 둘이 함께 쓰이고 있다 이제 여기서는 실습 내용 정리한 것이다 IPv4 설정, 네트워크 본딩, MobaXterm 연동 앞에서 알려드린 설정(10.0.2.15, 192.168.56.x, 127.0.0.1)이 전부 IPv4이다 학습용 VM 환경에서는 IPv4가 훨씬 간단하고 자료도 많다 Rocky Linux 설치 화면이나 네트워크 설정에서 IPv4는 수동(Manual) 또는 자동(DHCP) 중에 고르게 되는데, IPv6는 무시(Ignore) 로 해도 문제없다 아까 로그의 Server listening on :: port 22가 IPv6 쪽이고, 0.0.0.0이 IPv4 쪽이에요. SSH 서버는 둘 다 받을 준비가 돼 있어서 IPv4만 써도 아무 문제 없다 IPv4 설정 방식 고르는 법 자동(DHCP) : IP를 알아서 받는다. 가장 간단하고, 포트 포워딩 방식이라면 이걸로 충분하다 수동(Manual) : IP를 직접 정한다. 이 경우 주소, 넷마스크, 게이트웨이를 입력해야 한다. 호스트 전용 어댑터라면 192.168.56.xx / 255.255.255.0(또는 /24)이면 되고, 이 어댑터는 인터넷용이 아니라서 게이트웨이는 비워둬도 된다 내가 ipv4 수동으로 설정했어. 주소, 네트마스크, 게이트웨이를 설명해줘 클로드에게 이렇게 물었고... 먼가 이런 기본적인 겄을.. 쬠 멍청한 것 같지만 ᅮᅮ.. 각 항목의 의미 주소 (IP Address) 이 VM의 주소이다. 같은 네트워크 안에서 기기를 구분하는 번호이고, 다른 기기와 겹치면 안 된다. 회사 네트워크에서 이미 누가 쓰고 있는 IP를 넣으면 충돌이 나서 양쪽 다 통신이 불안정해진다 넷마스크 (Netmask) 주소 중 어디까지가 "네트워크 부분"이고 어디부터가 "기기 부분"인지 알려주는 값이다 255.255.255.0 (또는 /24): 앞 3덩이가 네트워크, 마지막 1덩이가 기기 번호. 예를 들어 192.168.1.x끼리는 같은 네트워크로 보고 직접 통신한다. 쓸 수 있는 기기 주소는 약 254개이다. 넷마스크가 달라지면 "같은 네트워크"의 범위도 달라진다. 그래서 회사 네트워크와 똑같은 값을 써야한다. 게이트웨이 (Gateway) 다른 네트워크(인터넷 포함)로 나가는 출입구 주소이다. 보통 회사 공유기나 라우터의 IP이고, 주로 192.168.1.1처럼 해당 대역의 첫 번째나 마지막 주소이다. 같은 네트워크 안에서만 통신한다면 필요 없지만, 인터넷을 쓰려면 반드시 맞는 값이 있어야 한다 DNS google.com 같은 이름을 IP 주소로 바꿔주는 서버이다. 이게 없으면 IP로는 접속되는데 도메인으로는 안 되는 상황이 생긴다. 회사 DNS 서버 주소를 넣거나, 모르면 8.8.8.8(구글)을 써도 된다 * 예시로 보면 회사 PC가 이런 값이라고 해보겠다 * 항목 값 IP 192.168.10.55 넷마스크 255.255.255.0 게이트웨이 192.168.10.1 DNS 192.168.10.1 또는 회사 DNS 그러면 VM은 같은 대역에서 안 쓰는 번호를 고른다 항목 값 IP 192.168.10.200 (다른 기기가 안 쓰는 번호) 넷마스크 255.255.255.0 (동일) 게이트웨이 192.168.10.1 (동일) DNS 동일 넷마스크, 게이트웨이, DNS는 회사 PC와 같게 하고, IP만 다르게 하는 것이다 중요한 주의점 IP 중복 : 회사 네트워크는 관리자가 IP를 할당하고 관리하는 경우가 많다. 임의로 정하지 말고, 사용 가능한 IP를 네트워크 담당자에게 확인하는 게 안전하다 어댑터 설정 : 회사 네트워크와 같은 대역으로 VM을 직접 연결하려면 VirtualBox 네트워크를 NAT가 아니라 브리지 어댑터로 바꿔야 한다. NAT 상태에서 회사 IP를 넣으면 통신이 안 된다 MobaXterm 접속 : 브리지로 바꾸고 수동 IP를 설정했다면, MobaXterm에서는 Remote host에 그 VM의 IP, Port는 [바꾼 포트 번호]로 접속하면 된다. (포트 포워딩은 필요 없다) 왜 포트를 바꾸나요? SSH 기본 포트 22번은 전 세계 봇들이 가장 먼저 두드려 보는 포트이다. 포트를 바꾸면 무차별 로그인 시도 같은 자동화 공격이 상당히 줄어든다. 다만 포트 변경은 보안을 완벽하게 해주는 게 아니라 "잡음을 줄이는 정도" 이다. 실제 보안은 강한 비밀번호, 키 인증, root 로그인 차단 등이 더 중요하다. 회사 규정으로 22번 사용을 금지하는 경우도 있다 1. VirtualBox 네트워크를 브리지로 변경 (내 PC, VM 꺼진 상태) 왜? NAT는 VM이 내 PC 뒤에 숨은 상태라 외부(내 PC 포함)에서 VM에 직접 접속하기 어렵다. 브리지는 VM이 회사 네트워크에 독립된 기기처럼 붙는 방식이라 IP로 직접 접속할 수 있다 방법은 앞서 안내한 대로 설정 → 네트워크 → 어댑터 1 → 브리지 어댑터 선택 후 랜카드 이름을 맞게 고르면 된다 2. 방화벽에 새 포트 추가 (VM 안) 왜? 방화벽(firewalld)은 허용 목록에 없는 포트를 막는다. 만약 SSH를 22에서 2222로 옮겼는데 방화벽이 2222를 모르면 접속이 차단된다 3. 방화벽 설정 후 SSH 테스트 1. firewall-cmd --permanent --zone=public --add-port=포트 번호/tcp //방화벽 설정 2. firewall-cmd --reload //방화벽 실행 3. systemctl restart sshd.service //SSH 재실행 4. ssh 테스트 ```sudo ss -tlnp | grep sshd``` 바꾼 포트 번호가 보이면 서버는 정상이다 4. 내 PC(Windows)에서 포트 열렸는지 확인 (선택) PowerShell에서: Test-NetConnection VM의IP -Port 포트번호 TcpTestSucceeded : True가 나오면 네트워크, 방화벽, 포트 모두 통과한 것이다 네트워크 본딩 본딩이란? 랜카드 2개를 하나처럼 묶는 기능이다. 한쪽 선이 끊겨도 다른 쪽으로 통신이 유지된다(이중화). bond0이라는 가상 인터페이스에 IP를 주고, 실제 랜카드 두 개는 그 아래에 붙인다 1. VirtualBox에서 어댑터 2 설정 (내 PC, VM 종료 상태) 설정 → 네트워크 → 어댑터 2 탭에서: 네트워크 어댑터 사용하기 체크 다음에 연결됨: 브리지 어댑터 이름: 어댑터 1과 같은 랜카드 고급 → 프로미스큐어스 모드: 모두 허용 (본딩 시 통신이 막히는 걸 줄여준다) VM을 켜고 ip a에서 enp0s3, enp0s8 두 개가 보이는지 확인한다 2. 고정 IP 설정 (VM 안) DNS를 따로 잡지 않으니 고정 IP로 진행하라는 내용이다. 본딩을 쓴다면 IP는 랜카드가 아니라 bond0에 준다. 본딩을 안 쓰고 단일 랜카드만 쓴다면: sudo nmcli connection up enp0s3 본딩 설정 (VM 안, main 참고 부분) 1) bond0 만들기 (active-backup: 하나만 쓰고 장애 시 전환, 가장 무난) sudo nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=100" 2) bond0에 고정 IP sudo nmcli connection modify bond0 ipv4.method manual ipv4.addresses 192.168.10.xxx/24 ipv4.gateway 192.168.x.x 3) 기존 enp0s3 설정은 내리고, 두 랜카드를 bond0 아래에 연결 sudo nmcli connection down enp0s3 sudo nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname enp0s3 master bond0 sudo nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname enp0s8 master bond0 4) 올리기 sudo nmcli connection up bond0 확인: cat /proc/net/bonding/bond0 ip a show bond0 Currently Active Slave와 두 랜카드의 MII Status: up이 보이면 된다. 이중화 테스트는 활성 랜카드를 끊어 보면 된다 sudo nmcli device disconnect enp0s3 ping -c 3 게이트웨이주소 핑이 계속 되고 Active Slave가 enp0s8로 바뀌면 성공이다. 되돌릴 때는 sudo nmcli device connect enp0s3를 입력한다 연결이 안 올라오면 nmcli connection show로 상태를 보고, 기존 enp0s3 프로필이 계속 활성화되어 충돌하는지 확인한다(메모의 "어댑터가 활성화되지 않을 경우" 링크가 이 문제다) 5. chrony 시간 동기화 DNS 없이 IP로 지정 (VM 안) DNS를 지정하게 될 수도 있지만 일단 지정 없이 하는 방법으로 작성하겠다 1. chrony 설치 확인 rocky9는 chrony가 기본 설치되어 있다 rpm -q chrony systemctl status chronyd DNS가 없으면 dnf install 이 Could not resolve host 에러로 실패한다. 이미 설치되어 있으니 설치는 필요없다 2. 시간대 설정 sudo timedatectl set-timezone Asia/Seoul timedatectl Time zone: Asia/Seoul (KST, +0900) 으로 나오면 된다 처음에는 System clock synchronized: no 였고, chronyc sources가 비어 있었다 원인은 기본 설정의 poo; 2.rocky.pool.ntp.org iburst 가 도메인이라는 점이다. DNS가 없어서 이름 해석이 안 되니 NTP서버를 찾지 못했다 4. 설정 파일 수정 수정 전에 반드시 백업을 먼저 만든다 sudo cp /etc/chrony.conf /etc/chrony.conf.bak sudo vi /etc/chrony.conf 주의: chrony.conf.bak은 백업 파일이라 chronyd가 읽지 않는다 수정은 /etc/chrony.conf에 해야 한다. 나는 처음에 .bak을 편집해서 반영이 안 됐다 기존 pool 줄을 주석 처리하고 server 줄을 추가한다 #pool 2.rocky.pool.ntp.org iburst server 203.248.240.140 iburst 여기서의 ip 주소는 time.bora.net의 IP이다 5. NTP 서버 IP 확인 방법 DNS가 되는 다른 PC(윈도우 cmd)에서 nslookup으로 확인한다 nslookup time.bora.net 출력 결과에서 맨 위 서버:/Address: 는 DNS 서버 주소이므로 쓰면 안 된다. 이름: time.bora.net 아래의 Address: 가 NTP 서버의 IP이다 공유기를 NTP 서버로 쓰면 안 되는 이유 처음에 server 192.168.x.x iburst (공유기)를 시도했는데, chronyc sources에 ^?_gateway , Reach 0 으로 나왔다. 일반 공유기는 NTP 서버 기능이 없는 경우가 많아 응답이 없었다 6. 적용 및 확인 sudo systemctl enable --now chronyd sudo systemctl restart chronyd sleep 10 chronyc sources -v timedatectl 결과 System clock synchronized: yes NTP service: active ^* : 현재 동기화 기준으로 선택된 서버 Stratum 2 : 정상 범위 Reach 17 : 연속 응답 성공 (시간이 지나면 377까지 증가) System clock synchronized: yes : 동기화 완료 진행 순서 요약 VirtualBox 어댑터 2 브리지 설정 고정 IP 값 정하기 (회사 담당자에게 사용 가능한 IP 확인) 본딩 구성 (VM 콘솔에서) 이중화 테스트 chrony 설정 이후 MobaXterm 접속 시 Remote host에 bond0의 IP를 넣으세요. 버추얼 박스 > 설정 > 네트워크 > NAT을 어댑터에 브리지로 변경 (OS랑 연결되게 함) vi etc/ssh/sshd_config 들어가서 #Port 22 변경 (원하는 포트로) firewall-cmd --permanent --zone=public --add-port=1234/tcp 방화벽 설정 firewall-cmd --reload 방화벽 실행 systemctl restart sshd.service SSH 재실행 ssh 테스트 이렇게 해서 오늘도 끝....!! 정말 오래 걸렸습니다........... 끝~~!!!
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
IPv4와 IPv6란? 네트워크에 대해 알아보자. 3학년때 전공 수업으로 컴퓨터네트워크 열심히 들었는데 수업 내용은 이해가 돼도 문제를 풀라고 하면 하나도 풀리지가 않았던 기억이..^^; 그럼 내용 이해가 안 된거겠죠? 유독.. 네트워크쪽이 어렵드라~~ 이번에도 네트워크 관련 개념이 헷갈(잘 몰름)려서 공부 겸 정리해보려고 한다 일단 가상머신도 자동으로 설정되어 있는 ip가 있는데 나는 수동으로 ip 설정을 해주었다 IPv4와 IPv6 차이 둘 다 네트워크에서 기기를 구분하는 주소 체계이다 집 주소처럼, 데이터를 어디로 보낼지 알려주는 번호라고 보면 된다 항목 IPv4 IPv6 주소 길이 32비트 / 128비트 표기 192.168.56.10 (숫자 4덩이, 점으로 구분) /…
Открыть источник