don't stop believing

Ubuntu를 WiFi (AP)로 만들어 봅니다. (두번째 도전) 본문

Network

Ubuntu를 WiFi (AP)로 만들어 봅니다. (두번째 도전)

Tongchun 2019. 1. 4. 19:02

지난번에 USB 무선 랜카드(ipTime A2000UA)를 이용해 Ubuntu를 AP로 만들어 보려고 했었는데요. 구성하고 나니 인터넷 속도가 너무 안나와서 못쓰게 되었습니다. 그래서 이번에는 재대로 해보려고 준비했습니다.


Ubuntu를 WiFi (AP)로 만들어 봅니다. (첫번째 도전)


이번 준비물은 이더넷 카드, ipTime AP 입니다.


Ubuntu 서버에 이더넷 카드를 추가하고 ifconfig로 확인해 봅니다.

$ ifconfig
enp3s0: flags=4099  mtu 1500
        ether 00:e0:63:36:15:1c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp4s0: flags=4163  mtu 1500
        inet 10.10.1.168  netmask 255.255.248.0  broadcast 10.10.7.255
        inet6 fe80::d5f0:7d13:e370:e00b  prefixlen 64  scopeid 0x20
        ether 30:5a:3a:07:5c:6d  txqueuelen 1000  (Ethernet)
        RX packets 16375  bytes 4338420 (4.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1422  bytes 112637 (112.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 181  bytes 14005 (14.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 181  bytes 14005 (14.0 KB)

기존 인터넷이 연결된 이더넷은 enp4s0, 새로 추가된 이더넷은 enp3s0입니다.


구성은 아래와 같이 할 예정입니다.


Internet <---> enp4s0 (Ubuntu) enp3s0 <----> ipTime AP <----> Client (Mobile Device)


Ubunut에는 DHCP Server를 설치합니다. DHCP Server는 enp3s0에 연결합니다.

그리고 iptable을 설정해 enp4s0으로 들어온 트래픽을 enp3s0로 forwarding해 enp3s0으로 트래픽이 나갈 수 있게 합니다.


network interface 설정을 해줍니다.

/etc/network/interface 파일을 열고 아래와 같이 enp3s0를 추가합니다.

$ sudo vim /etc/network/interfaces
auto enp3s0
iface enp3s0 inet static
	address 192.168.10.1
	netmask 255.255.255.0
	up route add -host 255.255.255.255 enp3s0

설정 추가 후 networking을 재시작 합니다.

$ sudo systemctl restart networking

이제 DHCP Server를 설치하겠습니다.

먼저 apt-get을 업데이트 해주고 isc-dhcp-server를 설치합니다.

$ sudo apt-get update
$ sudo apt install isc-dhcp-server

dhcp server가 설치되었다면 어느 이더넷(interface)에서 사용할 것인지 설정해 줍니다.

$ sudo vim /etc/default/isc-dhcp-server

아래와 같이 interface를 추가합니다.

INTERFACES="enp3s0"
INTERFACESv4=""
INTERFACESv6=""

이제 DHCH 설정을 해줄 차례입니다.

isc-dhcp-server의 기본 설정 파일 경로는 /etc/dhcp/dhcpd.conf 입니다.

$ sudo vim /etc/dhcp/dhcpd.conf

먼저 dhcpd에서 사용할 global parameters를 수정합니다.

option domain-name "";
option domain-name-servers 168.126.63.1, 168.126.63.2;

default-lease-time 3600;
max-lease-time 7200;
authoritative;

아래와 같이 subnet 정보를 추가합니다. enp3s0통해 할당한 네트워크는 192.168.10.0/24 입니다.

subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.10 192.168.10.50; option subnet-mask 255.255.255.0; option routers 192.168.10.1; interface enp3s0; }

conf 파일을 수정했다면 저장합니다.

설정은 끝났습니다. 이제 isc-dhcp-server를 시작해 줍니다.

$ sudo /etc/init.d/isc-dhcp-server restart
[ ok ] Restarting isc-dhcp-server (via systemctl): isc-dhcp-server.service.

그리고 자동 재시작될 수 있도록 설정해 줍니다.

$ sudo systemctl enable isc-dhcp-server.service
$ sudo systemctl status isc-dhcp-server.service

dhcp와 연결된 enp3s0 으로 인터넷이 연결될 수 있도록 아래와 같이 iptables의 forwarding 설정을 합니다.

$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

/etc/sysctl.conf 파일을 열고 forwarding 설정도 수정합니다.

$ sudo vim /etc/sysctl.conf

/etc/sysctl.conf 파일을 열고 아래 내용을 찾아 주석 처리를 해제합니다.

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

iptable 명령으로 forwarding 설정을 합니다.

$ sudo iptables -t nat -L $ sudo iptables -t nat -A POSTROUTING -o enp4s0 -j MASQUERADE $ sudo iptables -P FORWARD ACCEPT

이제 모두 되었습니다.

인터넷 연결이 되었는지 Ubuntu enp3s0에 노트북을 연결하고 인터넷 연결을 해보겠습니다.


dhcp에서 ip와 dns 정보를 잘 가져오네요.

인터넷 속도도 확인해 보겠습니다.

음... 이더넷 설정이 100Mbps로 되어 있는 것 같습니다. 아마 더 나올텐데 95M로만 나오네요.

이건 좀 더 확인해 봐야겠습니다.


Ubuntu 서버에 이더넷(enp3s0) 카드를 하나 추가하고 거기에 dhcp를 연결해 ip할당도 잘 되고 인터넷도 잘 되는 것을 확인했습니다.

이제  이더넷(enp3s0) 포트에 ipTime AP를 연결하고 설정하겠습니다.


    


ipTime AP에서도 인터넷 연결 정보가 잘 보입니다.

2.4GHz에 tongchunAP라고 SSID를 변경하고 모바일 디바이스에서 접속해 보겠습니다.


    


tongchunAP로 접속하고 속도 측정을 했습니다.

바로 옆에서 했고 다운로드 38.1 Mbps가 나오네요. 양호합니다.


여기까지 Ubuntu에 이더넷 카드를 추가하고 ipTime을 통해 AP를 만드는 방법이었습니다.



Comments