시스템 튜토리얼 리눅스 CentOS에서 iptables를 사용하는 방법에 대한 심층 분석

CentOS에서 iptables를 사용하는 방법에 대한 심층 분석

Jan 11, 2024 pm 05:27 PM
centos iptables

1: 서문

방화벽은 솔직하게 말하면 Linux에서 액세스 제어 기능을 구현하는 데 사용되며 하드웨어 방화벽과 소프트웨어 방화벽의 두 가지 유형으로 나뉩니다. 어떤 네트워크에 있든 방화벽이 작동하는 장소는 네트워크 가장자리에 있어야 합니다. 우리의 임무는 방화벽의 작동 방식을 정의하여 네트워크에 들어오고 나가는 IP와 데이터를 감지할 수 있는 방화벽의 정책 및 규칙입니다.

현재 시장에 나와 있는 더 일반적인 방화벽에는 네트워크 계층 방화벽이라고 하는 계층 3 및 계층 4 방화벽과 실제로 프록시 계층의 게이트웨이인 계층 7 방화벽이 포함됩니다.

TCP/IP의 7계층 모델의 경우 세 번째 계층이 네트워크 계층이고 3계층 방화벽이 이 계층에서 소스 주소와 대상 주소를 감지한다는 것을 알고 있습니다. 그러나 7계층 방화벽의 경우 소스 포트나 대상 포트, 소스 주소 또는 대상 주소가 무엇이든 상관없이 모든 사항이 확인됩니다. 따라서 설계 원칙상 7계층 방화벽이 더 안전하지만 효율성이 떨어지는 결과를 낳습니다. 따라서 시중에 나와 있는 일반적인 방화벽 솔루션은 이 두 가지를 조합한 것입니다. 그리고 우리 모두는 방화벽에 의해 제어되는 포트를 통해 액세스해야 하기 때문에 방화벽의 효율성은 사용자가 액세스할 수 있는 데이터 양에 대한 가장 중요한 제어가 되었습니다. 구성이 잘못되면 트래픽에 병목 현상이 발생할 수도 있습니다.

2: iptables의 역사와 작동 원리

1. iptables 개발:

iptables의 전신은 ipfirewall(커널 1.x 시대)이라고 합니다. 이는 저자가 freeBSD에서 이식한 간단한 액세스 제어 도구이며 커널에서 작업하여 데이터 패킷을 감지할 수 있습니다. 그러나 ipfirewall의 작동 기능은 극히 제한적입니다(규칙이 실행될 수 있으려면 모든 규칙을 커널에 넣어야 하며, 일반적으로 커널에 넣는 것은 매우 어렵습니다). 커널이 2. 접근 제어 기능으로 개발되었을 때.

사용자 공간에서 작동하고 규칙을 정의하는 도구이며 방화벽 자체는 아닙니다. 그들이 정의한 규칙은 커널 공간의 netfilter로 읽을 수 있으며 방화벽이 작동하도록 허용합니다. 커널에 삽입되는 위치는 tcp/ip 프로토콜 스택이 통과하는 특정 위치여야 합니다. 이 tcp/ip 프로토콜 스택이 통과해야 하고 읽기 규칙을 구현할 수 있는 곳을 netfilter(네트워크 필터)

라고 합니다.

저자는 커널 공간에서 총 5개의 위치를 ​​선택했으며,

1. 커널 공간에서: 하나의 네트워크 인터페이스에서 들어오고 다른 네트워크 인터페이스로 이동

2. 데이터 패킷은 커널에서 사용자 공간으로 흐릅니다.

3. 데이터 패킷은 사용자 공간에서 흘러나옵니다

4. 이 머신의 외부 네트워크 인터페이스에 들어가거나 나가세요

5. 로컬 네트워크 인터페이스에 들어가거나 나가세요

2. iptables의 작동 메커니즘

위 전개를 통해 작성자가 통제 장소로 5곳을 선택한 것으로 알고 있는데, 실제로 처음 3곳은 기본적으로 경로를 완전히 차단할 수 있는데 왜 입구와 출구에 설정해 두었는지 아시나요? 레벨을 통과한 후에도 여전히 안에 갇혀 있다면? 데이터 패킷에 대한 라우팅 결정이 아직 이루어지지 않았고 데이터가 어디로 가는지 알 수 없기 때문에 가져오기 및 내보내기 시 데이터 필터링을 구현할 방법이 없습니다. 따라서 커널 공간에서의 포워딩 레벨, 사용자 공간에 들어가기 위한 레벨, 사용자 공간에서 나가기 위한 레벨을 설정하는 것이 필요하다. 그렇다면 쓸모가 없다면 왜 배치합니까? NAT 및 DNAT를 수행할 때 라우팅 전에 대상 주소 변환이 변환되어야 하기 때문입니다. 따라서 외부 네트워크의 인터페이스에 체크포인트를 설정한 다음 내부 네트워크의 인터페이스에 체크포인트를 설정해야 합니다. ​ ​

이 5가지 위치는 5가지 후크 기능, 5가지 규칙 체인이라고도 합니다.

1.라우팅 전(라우팅 전)

2.INPUT(패킷 흐름 항목)

3.FORWARD (전방관리카드)

4.OUTPUT(데이터 패킷 내보내기)

5.포스트라우팅(라우팅 후)

이것은 NetFilter가 지정한 5개의 규칙 체인입니다. 이 시스템을 통과하는 모든 데이터 패킷은 반드시 이 5개의 체인 중 하나를 통과합니다. ​

3. 방화벽 전략

방화벽 정책은 일반적으로 두 가지 유형으로 나뉘는데, 하나는 "통과" 정책이라고 하고, 다른 하나는 "차단" 정책이라고 합니다. 통과 정책에서는 기본적으로 문이 닫혀 있으며, 누가 할 수 있는지 정의해야 합니다. 입력하다. 차단 전략은 문은 열려 있지만 신원 인증이 있어야 하고, 그렇지 않으면 들어갈 수 없다는 것입니다. 그래서 우리는 들어오는 사람은 들어오게 하고 나가는 사람은 나가게 한다는 것을 정의해야 합니다. 따라서 열린다는 것은 모두를 허용하는 것을 의미하고 차단하는 것은 선택하는 것을 의미합니다. 정책을 정의할 때 데이터 패킷에서 허용되거나 허용되지 않는 정책 정의, 필터 기능 및 주소 변환 기능을 정의하는 nat 옵션을 포함하여 여러 기능을 각각 정의해야 합니다. 이러한 기능이 교대로 작동할 수 있도록 다양한 작동 기능과 처리 방법을 정의하고 구별하기 위해 "테이블"의 정의를 공식화했습니다.

현재 다음 세 가지 기능을 사용합니다:

1.filter는 허용되는 것과 허용되지 않는 것을 정의합니다

2.nat는 주소 변환을 정의합니다

3.mangle 기능: 메시지의 원본 데이터를 수정합니다

TTL을 수정하기 위해 메시지의 원본 데이터를 수정합니다. 데이터 패킷의 메타데이터를 분해하고 내부 내용을 표시/수정하는 것이 가능합니다. 방화벽 태그는 실제로 mangle로 구현됩니다.

작은 확장:

필터의 경우 일반적으로 INPUT, FORWARD, OUTPUT의 3개 체인에서만 수행할 수 있습니다

NAT의 경우 일반적으로 3개 체인에서만 수행할 수 있습니다: PREROUTING, OUTPUT, POSTROUTING

Mangle은 5가지 체인을 모두 수행할 수 있습니다: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING

iptables/netfilter(이 소프트웨어)는 사용자 공간에서 작동하며 규칙을 적용할 수 있습니다. 이는 서비스 자체가 아니며 규칙이 즉시 적용됩니다. 그리고 우리의 iptables는 이제 시작하고 중지할 수 있는 서비스로 만들어졌습니다. 시작되면 규칙이 즉시 적용되고, 중지되면 규칙이 취소됩니다.

iptables는 자신만의 체인 정의도 지원합니다. 그러나 정의한 체인은 특정 체인과 연결되어야 합니다. 레벨 설정에서 데이터가 있을 때 특정 체인으로 이동하여 처리하고, 해당 체인이 처리된 후 돌아오도록 지정합니다. 그런 다음 특정 체인을 계속해서 확인하세요.

참고: 규칙의 순서는 매우 중요합니다. 규칙이 엄격할수록 규칙을 확인할 때 위에서 아래로 확인해야 합니다.

셋. 규칙 작성 방법:

iptables가 규칙을 정의하는 방식은 더 복잡합니다.

형식: iptables [-t table] COMMAND chain CRETIRIA -j ACTION

-t 테이블: 3필터 nat mangle

COMMAND: 규칙 관리 방법 정의

체인: 다음 규칙이 작동할 체인을 지정합니다. 이는 전략을 정의할 때 생략할 수 있습니다

CRETIRIA:일치 기준 지정

-j 액션: 처리 방법을 지정하세요

예: 172.16.0.0/24에는 접근이 허용되지 않습니다.

iptables -t 필터 -A INPUT -s 172.16.0.0/16 -p udp --dport 53 -j DROP

물론, 더 철저하게 거절하고 싶다면:

iptables -t 필터 -R 입력 1 -s 172.16.0.0/16 -p udp --dport 53 -j REJECT

iptables -L -n -v #정의된 규칙의 자세한 정보 보기

4: 자세한 설명 COMMAND:

1.체인 관리 명령(즉시 적용)

-P: 기본 정책을 설정합니다(기본 문이 닫혀 있는지 열려 있는지 설정)

일반적으로 기본 전략은 두 가지뿐입니다

iptables -P INPUT (DROP|ACCEPT) 기본값은 꺼짐/기본값은 켜짐

예:

iptables -P INPUT DROP 기본 규칙을 거부합니다. 그리고 어떤 동작도 정의되어 있지 않으므로 Xshell 연결을 포함한 외부 연결 및 원격 연결에 대한 모든 규칙이 거부됩니다.

-F: FLASH, 룰 체인 클리어(각 체인의 관리 권한 참고)

iptables -t nat -F 사전 예약 중

iptables -t nat -F는 nat 테이블의 모든 체인을 지웁니다

-N:NEW는 사용자가 새로운 체인을 생성할 수 있도록 지원합니다

iptables -N inbound_tcp_web은 웹 확인을 위해 tcp 테이블에 연결되어 있음을 나타냅니다.

-X: 사용자 정의 빈 링크를 삭제하는 데 사용됩니다

사용방법은 -N과 동일하지만, 삭제 전 내부 링크를 지워야 합니다

-E: 체인 이름을 바꾸는 데 사용되며 주로 사용자 정의 체인의 이름을 바꾸는 데 사용됩니다

-E 옛이름 새이름

-Z: 체인과 체인의 기본 규칙 카운터를 지웁니다(두 개의 카운터가 있으며 일치하는 패킷과 바이트 수)

iptables -Z : 지우기

2. 규칙 관리 명령

-A: 추가, 현재 체인 끝에 규칙 추가

-I num : 삽입, 현재 규칙을 어떤 숫자에 삽입합니다.

-I 3: 세 번째 항목으로 삽입

-R num: 대체/수정할 규칙을 재생합니다

형식: iptables -R 3…………

-D 번호: 삭제, 삭제할 규칙을 명확하게 지정

3. 관리 명령어 “-L” 보기

하위 명령 추가

-n: IP를 숫자 형식으로 표시합니다. -n을 추가하지 않으면 IP가 호스트 이름으로 역분석됩니다.

-v: 자세한 정보 표시

-vv

-vvv: 더 자세히, 더 자세히

-x: 단위 변환 없이 카운터에 정확한 값을 표시합니다

--line-numbers: 규칙의 줄 번호를 표시합니다

-t nat: 모든 레벨에 대한 정보를 표시합니다

다섯: 매칭기준에 대한 자세한 설명

1. 범용 매칭: 소스 주소와 타겟 주소 매칭

-s: 일치시킬 소스 주소를 지정하세요. 호스트 이름은 여기서 지정할 수 없습니다. IP

여야 합니다.

IP/마스크 0.0.0.0/0.0.0.0

주소는 반전될 수 있습니다. 어떤 IP를 제외하는지 표시하려면 "!"를 추가하세요

-d: 일치하는 대상 주소를 나타냅니다

-p: 프로토콜을 일치시키는 데 사용됩니다(여기에는 일반적으로 TCP/UDP/ICMP의 3가지 프로토콜이 있습니다)

-i eth0: 이 네트워크 카드에서 들어오는 데이터

Inflow는 일반적으로 INPUT 및 PREROUTING에 사용됩니다

-o eth0: 이 네트워크 카드에서 흘러나오는 데이터

아웃플로우는 일반적으로 OUTPUT 및 POSTROUTING에 있습니다.

2.확장 매칭

2.1 암시적 확장: 프로토콜 확장

-p tcp: TCP 프로토콜의 확장입니다. 확장 프로그램에는 일반적으로 세 가지 유형이 있습니다

--dport XX-XX: 대상 포트를 지정합니다. 연속되지 않은 여러 포트는 지정할 수 없습니다(예:

).

--dport 21 또는 --dport 21-23(21,22,23을 의미)

--스포츠: 소스 포트 지정

--tcp-fiags: TCP 플래그(SYN, ACK, FIN, PSH, RST, URG)

이를 위해서는 일반적으로 두 가지 매개변수가 따라야 합니다:

1. 플래그 확인

2. 1이어야 하는 플래그 비트

--tcpflags syn,ack,fin,rst syn = --syn

이 4비트를 확인한다는 의미이며, syn은 이 4비트 중 1이어야 하고 나머지는 0이어야 합니다. 따라서 이는 3방향 핸드셰이크의 첫 번째 패킷을 감지하는 데 사용된다는 의미입니다. SYN이 1인 첫 번째 패킷과 구체적으로 일치하는 이러한 종류의 패킷에는 --syn

이라는 약어도 있습니다.

-p udp: UDP 프로토콜의 확장

-dport-

-스포츠-

-p icmp: icmp 데이터 메시지 확장

            --icmp 유형:

echo-request(에코 요청), 일반적으로 8로 표시

그래서 --icmp-type 8은 요청 에코 패킷과 일치합니다

echo-reply(응답 데이터 패킷)는 일반적으로 0

으로 표시됩니다.

2.2 명시적 확장(-m)

다양한 모듈 확장

-m multiport: 다중 포트 확장 활성화를 나타냅니다

그 후에는 --dports 21,23,80

등을 활성화할 수 있습니다.

Six:자세한 설명-j ACTION 일반적으로 사용되는 액션:

DROP: 조용히 폐기

일반적으로 우리는 신원을 숨기고 연결 목록을 숨기기 위해 DROP을 사용합니다

REJECT: 명시적으로 거부

수락: 수락

custom_chain: 맞춤형 체인으로 전환

DNAT

SNAT

MASQUERADE: 소스 주소 위장

REDIRECT: 리디렉션: 주로 포트 리디렉션을 구현하는 데 사용됩니다

MARK: 방화벽 표시

RETURN:반품

원래 규칙 체인으로 돌아가려면 커스텀 체인이 실행된 후 return을 사용하세요.

연습 문제 1:

172.16.0.0/16 네트워크 세그먼트에서 오는 한, 내 로컬 172.16.100.1

의 SSHD 서비스에 액세스하는 것이 허용됩니다.

분석: 우선 허용 테이블에 정의해야 합니다. NAT 주소 변환 등을 수행할 필요가 없으므로 SSHD 서비스를 확인하십시오. 포트 22에서 처리 메커니즘은 허용 여부에 따라 두 가지 규칙이 필요합니다. 또는 거부합니다. 로컬 서비스에 액세스하려면 INPUT 체인에서 정의한 다음 OUTPUT을 정의하는 것이 가장 좋습니다. (세션의 초기 종료가 먼저 정의됩니다.) 따라서 추가된 규칙은 다음과 같습니다.

정의 제공: iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -j ACCEPT

정의됨: iptables -t 필터 -A OUTPUT -s 172.16.100.1 -d 172.16.0.0/16 -p tcp --dport 22 -j ACCEPT

기본 정책을 DROP으로 변경:

iptables -P INPUT DROP

iptables -P 출력 드롭

iptables -P FORWARD DROP

세븐: 상태 감지: 은 세션 간 연결 관계를 감지하는 데 사용되는 명시적 확장으로, 감지를 통해 세션 간 기능 확장을 구현할 수 있습니다.

상태 감지란 무엇인가요? 전체 TCP 프로토콜에 대해 3방향 핸드셰이크에서는 첫 번째 핸드셰이크를 NEW 연결이라고 합니다. 두 번째 핸드셰이크부터는 ack가 1이 되며 두 번째는 정상적인 데이터 전송입니다. tcp의 세 번째 핸드셰이크를 확립된 연결(ESTABLISHED)이라고 합니다. 또한 SYN=1 ACK=1 RST=1과 같은 매우 이상한 상태도 있습니다. 우리가 인식할 수 없는 이런 종류의 경우에는 모두 INVALID라고 부릅니다. 인식할 수 없습니다. 네 번째 유형도 있는데, 이는 FTP의 고대 기능입니다. 포트 21과 20은 둘 다 연결되어 있습니다.

총 4개의 상태가 있습니다:

새로운

설립됨

관련

잘못되었습니다

이제 방금 연습 질문에 상태 감지를 추가할 수 있습니다. 예를 들어 NEW 및 ESTABLISHED 상태의 항목만 들어올 수 있고 ESTABLISHED 상태의 항목만 나갈 수 있습니다. 이는 보다 일반적인 리바운드 트로이 목마에 대한 좋은 제어 메커니즘을 제공할 수 있습니다.​

연습 문제 확장:

들어오는 사람은 외출 허가를 거부하고, 들어오는 사람은 ESTABLISHED만 들어오도록 허용하고, 나가는 사람은 ESTABLISHED만 외출을 허용합니다. 기본 규칙은 모두 거부를 사용합니다

iptables -L -n --line-number: 이전 규칙이 위치한 줄 보기

입력 다시 쓰기

iptables -R INPUT 2 -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -m state --state NEW, ESTABLISHED -j ACCEPT

iptables -R 출력 1 -m state --state ESTABLISHED -j ACCEPT

이번에 또 다른 포트 80을 해제하고 싶다면 어떻게 해제하면 되나요?

iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m state --state NEW, ESTABLISHED -j ACCEPT

iptables -R 입력 1 -d 172.16.100.1 -p udp --dport 53 -j ACCEPT

연습 문제 2:

우리가 다른 사람에게 핑을 허용하는데 다른 사람이 우리에게 핑을 할 수 없다면 어떻게 될까요?

분석: 핑 프로토콜의 경우 들어오는 것은 8(핑)이고 나가는 것은 0(응답)입니다. 우리의 목표를 달성하려면 나가는 데 8이 필요하고 0이 들어오도록 허용해야 합니다

발신 포트에서: iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT

수신 포트에서: iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT

작은 확장자: 127.0.0.1은 특별하므로 명확하게 정의해야 합니다

iptables -A 입력 -s 127.0.0.1 -d 127.0.0.1 -j 수락

iptables -A 출력 -s 127.0.0.1 -d 127.0.0.1 -j 수락

Eight: SNAT 및 DNAT 구현

현재 IP 주소가 부족하고 할당되었으므로 남은 IP 자원을 절약하려면 주소 변환을 수행해야 합니다. 그렇다면 iptables를 통해 NAT 주소 변환을 구현하는 방법은 무엇입니까?

1. 원래 주소를 기준으로 SNAT 변환

원래 주소를 기반으로 한 변환은 일반적으로 당사 내부 네트워크 사용자 중 다수가 외부 네트워크 포트를 통해 인터넷에 접속할 때 사용됩니다. 이때 내부 네트워크 주소를 외부 네트워크 IP로 변환하여 다른 외부 네트워크에 연결할 수 있습니다. .IP 기능.

따라서 iptables에서 변환하는 방법을 정의해야 합니다.

정의된 스타일:

예를 들어 이제 192.168.10.0 네트워크 세그먼트의 모든 IP 주소를 가정된 외부 네트워크 주소 172.16.100.1로 변환해야 합니다.

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.100.1

이렇게 하면 로컬 네트워크에서 네트워크 카드를 통해 네트워크에 액세스하려는 모든 사람이 IP 172.16.100.1.

로 변환됩니다.

그럼 172.16.100.1이 고쳐지지 않는다면 어떨까요?

우리 모두는 China Unicom 또는 China Telecom을 사용하여 인터넷에 액세스할 때 일반적으로 컴퓨터를 켤 때마다 외부 IP 주소가 무작위로 생성된다는 것을 알고 있습니다. 이는 외부 네트워크 주소가 동적으로 변경된다는 것을 의미합니다. 이때 외부 네트워크 주소를 MASQUERADE(동적 위장)로 변경해야 합니다. 자동으로 외부 네트워크 주소를 찾아 올바른 외부 네트워크 주소로 자동 변경할 수 있습니다. 따라서 다음과 같이 설정해야 합니다.

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE

참고: 주소 위장은 모든 장소에 적용되지 않습니다.

2.DNAT 대상 주소 변환

대상 주소 변환의 경우 데이터 흐름 방향은 외부가 클라이언트이고 내부가 서버입니다. 대상 주소 변환을 통해 외부 IP가 외부 네트워크를 통해 서버의 다른 서버에 액세스할 수 있습니다. IP이지만 당사 서비스는 인트라넷 서버의 다른 서버에 배치됩니다.

대상 주소 변환은 어떻게 하나요? :

iptables -t nat -A PREROUTING -d 192.168.10.18 -p tcp --dport 80 -j DNAT --todestination 172.16.100.2

대상 주소 변환은 네트워크 카드에 도달하기 전에 이루어져야 하므로 PREROUTING 위치에서 이루어져야 합니다

9: 규칙 저장 및 열기 제어

참고: 다시 시작하면 정의한 모든 콘텐츠가 유효하지 않게 됩니다. 적용하려면 명령을 사용하여 저장해야 합니다.

1.service iptables 저장 명령

/etc/sysconfig/iptables 파일에 저장됩니다

2.iptables-저장 명령

iptables-저장 > /etc/sysconfig/iptables

3.iptables-복원 명령

부팅할 때 /etc/sysconfig/iptabels가 자동으로 로드됩니다

로드할 수 없거나 부팅 시 로드되지 않고 직접 작성한 구성 파일(iptables.2로 가정)을 수동으로 적용하려는 경우:

iptables-복원 /etc/sysconfig/iptables.2

그런 다음 iptables에 정의된 규칙을 수동으로 적용하는 작업을 완료했습니다

10: 요약

Iptables는 모든 방화벽에 거의 필요한 설정이며, 대규모 네트워크를 구축할 때 여러 가지 이유로 설정해야 하는 항목이기도 합니다. Iptables를 잘 배우면 전체 네트워크의 구조에 대한 더 깊은 이해를 얻을 수 있으며 동시에 커널 공간의 데이터 방향과 Linux의 보안에 대해서도 철저하게 파악할 수 있습니다. 우리는 학습할 때 다양한 프로젝트와 실험을 결합하여 이를 완성하려고 노력합니다. 이는 iptables 및 다양한 기술의 구성을 심화하는 데 매우 도움이 될 것입니다.

위 내용은 CentOS에서 iptables를 사용하는 방법에 대한 심층 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

센토스로 중국어 입력하는 방법 센토스로 중국어 입력하는 방법 Apr 07, 2024 pm 08:21 PM

CentOS에서 중국어 입력을 사용하는 방법에는 fcitx 입력 방법 사용: fcitx 설치 및 활성화, 단축키 설정, 단축키를 눌러 입력 방법 전환, 병음을 입력하여 후보 단어 생성 등이 있습니다. iBus 입력 방법 사용: iBus를 설치 및 활성화하고, 단축키를 설정하고, 단축키를 눌러 입력 방법을 전환하고, 병음을 입력하여 후보 단어를 생성합니다.

centos7에서 USB 디스크 파일을 읽는 방법 centos7에서 USB 디스크 파일을 읽는 방법 Apr 07, 2024 pm 08:18 PM

CentOS 7에서 U 디스크 파일을 읽으려면 먼저 U 디스크를 연결하고 장치 이름을 확인해야 합니다. 그런 다음 다음 단계를 사용하여 파일을 읽습니다. USB 플래시 드라이브 마운트: mount /dev/sdb1 /media/sdb1("/dev/sdb1"을 실제 장치 이름으로 대체) USB 플래시 드라이브 파일 찾아보기: ls /media /sdb1; cd /media /sdb1/디렉토리;

centos7에서 루트 권한을 입력하는 방법 centos7에서 루트 권한을 입력하는 방법 Apr 02, 2024 pm 08:57 PM

CentOS 7의 루트 권한을 입력하는 방법은 두 가지가 있습니다. sudo 명령을 사용합니다. 터미널에 sudo su -를 입력하고 현재 사용자 비밀번호를 입력합니다. 루트 사용자로 직접 로그인: 로그인 화면에서 "기타"를 선택하고 "루트"와 루트 비밀번호를 입력합니다. 참고: 루트 권한으로 주의 깊게 작업하고, sudo 권한으로 작업을 수행하고, 루트 비밀번호를 정기적으로 변경하십시오.

centos 로그인 비밀번호를 잊어버린 경우 어떻게 해야 하나요? centos 로그인 비밀번호를 잊어버린 경우 어떻게 해야 하나요? Apr 07, 2024 pm 07:33 PM

잊어버린 CentOS 비밀번호에 대한 해결 방법은 다음과 같습니다. 단일 사용자 모드: 단일 사용자 모드로 들어가서 passwd root를 사용하여 비밀번호를 재설정합니다. 복구 모드: CentOS Live CD/USB에서 부팅하고 루트 파티션을 마운트하고 비밀번호를 재설정합니다. 원격 액세스: SSH를 사용하여 원격으로 연결하고 sudo passwd root로 비밀번호를 재설정합니다.

SCP 사용 팁 - 파일을 재귀적으로 제외 SCP 사용 팁 - 파일을 재귀적으로 제외 Apr 22, 2024 am 09:04 AM

scp 명령을 사용하여 네트워크 호스트 간에 파일을 안전하게 복사할 수 있습니다. 데이터 전송 및 인증을 위해 SSH를 사용합니다. 일반적인 구문은 다음과 같습니다: scpfile1user@host:/path/to/dest/scp -r/path/to/source/user@host:/path/to/dest/scp 파일 제외 scp 명령을 사용할 때는 할 수 없을 것 같습니다 파일을 필터링하거나 제외합니다. 그러나 파일을 제외하고 SSH를 사용하여 안전하게 복사하는 좋은 해결 방법이 있습니다. 이 페이지에서는 scp를 사용하여 디렉터리를 반복적으로 복사할 때 파일을 필터링하거나 제외하는 방법을 설명합니다. rsync 명령을 사용하여 파일을 제외하는 방법 구문은 다음과 같습니다: rsyncav-essh-

Centos 사용자 이름과 비밀번호를 잊어버린 경우 어떻게 해야 합니까? Centos 사용자 이름과 비밀번호를 잊어버린 경우 어떻게 해야 합니까? Apr 02, 2024 pm 08:54 PM

CentOS 사용자 이름과 비밀번호를 잊어버린 경우 액세스를 복원하는 두 가지 방법이 있습니다. 루트 비밀번호 재설정: 서버를 다시 시작하고 GRUB 메뉴에서 커널 명령줄을 편집한 후 "rw init=/sysroot/bin/sh"를 추가하고 Ctrl을 누릅니다. +x ;루트 파일 시스템을 마운트하고 단일 사용자 모드에서 비밀번호를 재설정합니다. 복구 모드 사용: CentOS 설치 ISO 이미지에서 서버를 시작하고, 루트 파일 시스템을 마운트하고, ISO 이미지에서 chroot 환경을 복사하고, 비밀번호를 재설정하고, chroot 환경을 종료하고 서버를 다시 시작합니다.

centos7에서 루트 권한을 활성화하는 방법 centos7에서 루트 권한을 활성화하는 방법 Apr 07, 2024 pm 08:03 PM

CentOS 7은 기본적으로 루트 권한을 비활성화합니다. 다음 단계에 따라 활성화할 수 있습니다. 임시 활성화: 터미널에 "su root"를 입력하고 루트 비밀번호를 입력합니다. 영구적으로 활성화됨: "/etc/ssh/sshd_config"를 편집하고 "PermitRootLogin no"를 "yes"로 변경한 후 SSH 서비스를 다시 시작합니다.

centos7 비밀번호를 잊어버린 경우 어떻게 해야 합니까? centos7 비밀번호를 잊어버린 경우 어떻게 해야 합니까? Apr 02, 2024 pm 08:51 PM

CentOS 7에서 비밀번호를 잊어버린 경우 세 가지 솔루션: 단일 사용자 모드: 시스템을 다시 시작하고, 커널 옵션을 편집하고, ro를 rw init=/sysroot/bin/sh로 변경하고, passwd 명령을 사용하여 루트 비밀번호를 재설정합니다. 복구 모드: 설치 미디어에서 부팅하고, 복구 모드를 선택하고, 루트 파일 시스템을 마운트하고, 루트 파일 시스템에 chroot하고, passwd 명령을 사용하여 루트 비밀번호를 재설정합니다. Grub2 명령줄: 시스템을 다시 시작하고, c를 눌러 명령줄을 입력하고, 커널을 로드하고, 루트 파일 시스템을 마운트하고, 루트 파일 시스템에 chroot를 지정한 다음, passwd 명령을 사용하여 루트 비밀번호를 재설정합니다.

See all articles