> 시스템 튜토리얼 > 리눅스 > AP 없는 모드의 CentOS7에서 Hostapd 구현을 사용하는 방법에 대한 전체 가이드

AP 없는 모드의 CentOS7에서 Hostapd 구현을 사용하는 방법에 대한 전체 가이드

王林
풀어 주다: 2024-01-04 09:55:38
앞으로
867명이 탐색했습니다.

이 문서는 Linux에서 Hostapd를 사용하여 무선 액세스 포인트 AP 모드를 구현하는 또 다른 방법인 Hostapd 라우팅 모드 구성입니다.

"CentOS 7 Hostapd AP 모드 구성"의 전반부에서 소프트웨어와 하드웨어의 기본 구성과 Hostapd 설치에 대해 설명하고 있습니다.

Hostapd의 AP 모드 구성에는 유선 네트워크 카드와 무선 네트워크 카드 간의 브리지가 필요합니다. 라우팅 모드 구성에는 주로 유선 네트워크 카드를 통해 무선 네트워크 카드의 데이터를 위장하고 전달하는 작업이 포함되므로 유선 네트워크 카드와 무선 네트워크 카드를 브리지할 필요가 없습니다. 무선 네트워크 카드.

이 라우팅 모드를 구성하는 것은 일반 무선 라우터와 유사합니다. 유선 네트워크 포트는 일반 무선 라우터의 WAN 인터페이스와 동일합니다. 무선 네트워크 카드는 휴대폰 및 노트북과 같은 무선 장치에 대한 브로드캐스트 무선 신호를 전송하는 역할을 합니다. 네트워크 액세스를 위해 네트워크에 액세스합니다.

그러나 차이점은 일반 무선 라우터와 비교할 때 이 구현에는 4개의 일반 LAN 인터페이스가 없으며 다른 데스크톱 컴퓨터의 유선 연결에 사용할 수 없다는 것입니다.

사실 리눅스는 주로 네트워크 기능을 위한 운영체제로 접속도 가능하지만, 스위치나 기타 장비가 필요하기 때문에 좀 더 복잡해집니다. 여기서의 구성은 4개의 LAN 인터페이스가 없는 일반 무선 라우터와 같습니다.

hostapd.conf 구성

최소 구성은 다음과 같습니다.

#/etc/hostapd/hostapd.conf 최소 구성

인터페이스=wlp2s0

> >

드라이버=nl80211

ssid=테스트

hw_mode=g

채널=1

auth_algs=3

ignore_broadcast_ssid=0                   # 방송 여부, 0 방송

wpa=3

wpa_passphrase=12345678                                                              

구성은 AP 모드 구성 파일과 유사하며 bridge=br0 옵션을 주석 처리하면 됩니다.

유선 인터페이스 구성

먼저 유선 인터페이스를 올바르게 구성하고 인터넷에 정상적으로 접속할 수 있어야 합니다. 가장 간단한 방법은 라우터에서 IP 주소, 게이트웨이 및 DNS를 자동으로 얻는 것입니다. 라우터가 없는 경우 일반적으로 사용되는 PPPOE 방식, 고정 IP 주소 방식, 동적 IP 주소 획득 방식 등 유선 인터페이스의 인터넷 접속 방식을 수동으로 설정해야 합니다. 어쨌든 IP 주소를 동적으로 얻는 것이 가장 쉽습니다.

무선 인터페이스 설정은 ip addr add 명령을 사용합니다

ip addr add 명령을 사용하여 무선 네트워크 카드의 IP 주소를 설정하세요. 다시 시작한 후에는 유효하지 않게 됩니다. 예를 들어 172.16.0.1/24 또는 기타 개인 주소이며 유선 네트워크 카드와 동일한 네트워크 세그먼트에 있지 않아야 합니다. 일반적으로 라우터에서 유선 네트워크 카드로 얻은 IP 주소는 192.168.1.0/24 네트워크 세그먼트 주소입니다.

ip 주소 추가 172.16.0.1/24 dev wlp2s0

Tips

: CentOS 7은 현재 기본적으로 NetworkManager 제품군을 네트워크 구성 도구로 사용합니다. 여기서 발생하는 한 가지 문제는 NetworkManager 제품군에서 제공하는 nmcli 명령이 무선 네트워크 카드에 대한 고정 IP 주소 설정을 지원하지 않는다는 것입니다. 이를 위해서는 무선 네트워크 카드의 IP 주소를 수동으로 설정하거나 /에서 ip addr add 명령을 사용해야 합니다. etc/sysconfig/network -scripts/ 폴더 아래에 새 구성 파일을 생성합니다. 이는 오래되고 고전적인 인터페이스 구성 방법입니다.

네트워크 프로필 사용

설정을 저장하려면 새 파일 /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0을 생성하면 되며, 파일 이름 앞에 ifcfg가 붙습니다.

vi /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0

[root@server ~]# vi /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0

#TYPE=이더넷

#BOOTPROTO=없음

#DEFROUTE=예

#IPV4_FAILURE_FATAL=아니요

#IPV6INIT=예

#IPV6_AUTOCONF=예

#IPV6_DEFROUTE=예

#IPV6_FAILURE_FATAL=아니요

#NAME=static-wlp2s0

#UUID=a036678e-8fdf-48f3-8693-961bb6326i744

DEVICE=wlp2s0                                                                                                        

ONBOOT = 예

IPADDR=172.16.0.1                                                                 

PREFIX=24                                                                                                      

#GATEWAY=192.168.10.254                                                                                             

#DNS1=127.0.0.1

#DNS2=192.168.10.254

#IPV6_PEERDNS=예

#IPV6_PEERROUTES=예

저장한 후에는 먼저 NetworkManager.service 서비스를 중지해야 합니다. 시작을 비활성화하는 것이 가장 좋습니다. 그렇지 않으면 여전히 문제가 발생합니다. 주요 증상은 부팅 시 network.service가 시작되지 않는 것입니다.

시작 시 NetworkManager.service가 시작되지 않도록 비활성화

systemctl은 NetworkManager.service를 비활성화합니다

NetworkManager.service 서비스 중지

systemctl 중지 NetworkManager.service

적용 여부를 확인하려면 network.service 서비스를 다시 시작하거나 시스템을 직접 다시 시작하면 됩니다.

systemctl 재시작 network.service

전달 활성화 및 인터페이스 위장 구성 전달 활성화

다시 시작한 후 sysctl -w를 사용하면 실패합니다

sysctl -w net.ipv4.ip_forward=1

[root@server ~]# sysctl -w net.ipv4.ip_forward=1

net.ipv4.ip_forward = 1

다시 시작한 후에도 IP 전달 활성화는 유효하지 않습니다. 시스템이 다시 시작된 후 /etc/sysctl.d/ 폴더의 설정이 자동으로 로드됩니다.

vi /etc/sysctl.d/ip_forward.conf

[root@server ~]# vi /etc/sysctl.d/ip_forward.conf

net.ipv4.ip_forward = 1

인터페이스 위장 구성

CentOS 7에서는 방화벽과 iptables를 모두 사용하여 인터페이스를 위장할 수 있습니다. Firewalld.service 서비스는 CentOS 7에서 기본적으로 활성화됩니다. iptables 서비스가 Firewalld 서비스와 충돌하며 그 중 하나만 활성화할 수 있습니다.

firewalld를 사용하여 인터페이스 위장 구성

그래픽 인터페이스를 사용하여 구성할 수 있다면 더 간단하고 명확해질 것입니다. 여기서는 Firewalld-cmd 명령만 사용하여 구성합니다.

firewalld.service 서비스가 시작되지 않은 경우 먼저 Firewalld.service 서비스를 시작해야 합니다.

systemctl start Firewalld.service

무선 인터페이스를 신뢰 영역에 추가하고 구성을 저장하세요. 기본적으로 모든 인터페이스는 공개 영역에 속하며 연결 ​​제한이 엄격하여 연결이 불가능합니다.

firewall-cmd --zone=trusted --add-interface=wlp2s0 --permanent

[root@server ~]# Firewall-cmd --zone=trusted --add-interface=wlp2s0 --permanent

성공

유선 인터페이스가 있는 영역에 대해 위장을 활성화하고 구성을 저장하세요. 기본적으로 유선 인터페이스는 공개 영역에 속합니다.

firewall-cmd --zone=public --add-masquerade --permanent

[root@server ~]# Firewall-cmd --zone=public --add-masquerade --permanent

성공

방화벽 서비스 다시 시작

systemctl 재시작 Firewalld.service

iptables를 사용하여 인터페이스 위장 구성

iptables 사용에 익숙하다면 iptables-services 패키지를 설치해야 합니다. 여기에는 각각 ipv4 및 ipv6에 사용되는 두 가지 서비스 iptables.service 및 ip6tables.service가 포함되어 있습니다.

iptables를 사용하려면 Firewalld.service 서비스를 중지하고 비활성화해야 합니다

systemctl stop Firewalld.service

systemctl은 Firewalld.service를 비활성화합니다

iptables.service 서비스를 다시 활성화하세요. ipv4가 여전히 주로 사용되기 때문에 iptables.service만 활성화하세요. iptables를 사용하는 경우 시작 시 iptables.service 서비스도 설정해야 합니다.

systemctl 활성화 iptables.service

iptables.service 서비스 시작

systemctl 시작 iptables.service

인터페이스 변장

iptables -t nat -A POSTROUTING -o p2p1 -j MASQUERADE

일반적으로 위 명령을 구성하면 됩니다. 방화벽 설정이 엄격한 경우 전달을 허용하는 무선 네트워크 카드 인터페이스 wlp2s0을 추가해야 합니다.

iptables -t 필터 -A FORWARD -i wlp2s0 -j ​​​​ACCEPT

dnsmasq 구성 dnsmasq 소프트웨어 설치

dnsmasq는 주로 클라이언트 IP 주소 할당과 DNS 확인 서비스를 담당합니다.

설치되어 있지 않다면 먼저 dnsmasq 소프트웨어를 설치하세요

냠 설치 dnsmasq

부팅 시 자동으로 시작되도록 dnsmasq 서비스 설정

systemctl 활성화 dnsmasq.service

dnsmasq.conf 구성

vi /etc/dmsmasq.conf

[root@server ~]# vi /etc/dnsmasq.conf

# 인터페이스를 지정한 후 '*' 와일드카드를 사용할 수 있습니다.

인터페이스=wlp2s0

# 바인딩 인터페이스

바인드 인터페이스

# 172.16.0.100에서 172.16.0.200까지의 DHCP 주소 풀

dhcp-범위=172.16.0.100,172.16.0.200,255.255.255.0,1h

dnsmansq 서비스를 시작하려면 무선 네트워크 카드에 올바른 IP 주소가 있어야 합니다. dnsmasq는 현재 무선 네트워크 카드 주소 172.16.0.1을 클라이언트의 게이트웨이 주소와 DNS 주소로 자동 설정합니다.

systemctl start dnsmasq.service

마지막으로 Hostapd 서비스를 다시 시작하세요

systemctl 재시작 hostapd.service

위 내용은 AP 없는 모드의 CentOS7에서 Hostapd 구현을 사용하는 방법에 대한 전체 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:jb51.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿