ITmedia NEWS > STUDIO >

���Y�p�C�𖳐�LAN���[�^�[������ �`�A�N�Z�X�|�C���g�ҁ`�F���h�T�C�Y�̒����^PC�u���Y�p�C�v�ŗV�ԁi��24��j�i1/2 �y�[�W�j

» 2020�N08��14�� 07��00�� ���J
[�����CITmedia]

�@����ŃC���^�[�l�b�g������g���Ă���Ȃ�A����LAN���[�^�[��ݒu���Ă���P�[�X�������ł��傤�B�v���o�C�_�[���烌���^��������A�Ɠd�ʔ̓X����R�~�T�C�g�Ŋ��߂�ꂽ���i����ɂ�����������Ǝv���܂����A����Ȗ���LAN���[�^�[�����Y�p�C�Ŏ���ł��邱�Ƃ��������ł��傤���B

YpC

�@����̓��Y�p�C�𖳐�LAN���[�^�[�Ƃ��ē��삳����菇���Љ�܂��B�Ȃ��A���Y�p�C�p��OS�uRaspbian�v�̃C���X�g�[�����K�v�ł��B�菇����21���̋L�����Q�Ƃ��Ă��������B

���Y�p�C�𖳐�LAN���[�^�[������

�@���Y�p�C�̖���LAN���[�^�[���͈ȉ��̎菇�����ǂ邱�ƂɂȂ�܂��B

  • �u/etc/dhcpcd.conf�v�ɍ��ڂ�lj�
  • hostapd�̃C���X�g�[���Ɛݒ�
  • dnsmasq�̃C���X�g�[���Ɛݒ�

�@�����̐ݒ�ƒlj��v���O�������C���X�g�[�����邱�ƂŁA���Y�p�C�̗L��LAN�Ƀ��f����ڑ����āA����LAN��Wi-Fi�@����l�b�g���[�N�ɂ‚Ȃ��܂��B�ł͏��ԂɌ��Ă����܂��傤�B

�u/etc/dhcpcd.conf�v�ɍ��ڂ�lj�

�@�܂���dhcpcd�̐ݒ�ł��Bdhcpcd�́ADHCP�T�[�o����z�X�g��IP�A�h���X�A�l�b�g�}�X�N�A�u���[�h�L���X�g�A�h���X�Ȃǂ��擾���āA���Y�p�C�ɐݒ肷�邽�߂̃T�[�r�X�ł��B����͖���LAN���ɈႤ�A�h���X��Ԃ����蓖�ĂĎg�����߁A���g���Ă��郂�f���△��LAN���[�^�[�Ɋ��蓖�Ă��Ă���A�h���X��ԂƂ͕ʂ̂��̂�ݒ肵�܂��B

�@�ݒ�t�@�C����ύX���܂��̂ŁA��������T�[�r�X���~�߂܂��B

$ sudo systemctl stop dhcpcd

�@�ȉ��̃R�}���h��nano���N�����ăt�@�C�����C�����܂��B

$ sudo nano /etc/dhcpcd.conf

�@�t�@�C�����J������A�ȉ��̍��ڂ��Ō�ɒNjL���܂��B

interface wlan0
static ip_address=192.168.2.1/24

�@���̐ݒ�ł����A�M�҂̊‹����Ɓu192.168.1.1�v�Ŏn�܂�̂����g���Ă��郋�[�^�[�̃A�h���X��ԂŁA���[�^�[�ɐڑ�����f�o�C�X�ɂ́u192.168.1.xxx�v�Ƃ���IP�A�h���X�����蓖�Ă��Ă��܂��B���̂��߁A�d�����Ȃ��悤�Ɂu192.168.2.1�v����n�܂�A�h���X��Ԃ�ݒ肵�Ă��܂��B����͂��ꂼ��̊‹��ňقȂ�܂��̂ŁA�ǂݑւ��Đݒ肵�Ă��������B�NjL������ȉ��̃R�}���h��dhcpcd���ċN�����܂��B

$ sudo systemctl restart dhcpcd

hostapd�̃C���X�g�[���Ɛݒ�

�@���Ƀ��[�^�[�̃A�N�Z�X�|�C���g�ƂȂ�uhostapd�v���C���X�g�[�����܂��B�ȉ��̃R�}���h����͂��Ă��������B

$ sudo apt install hostapd

�@�C���X�g�[��������hostapd�̐ݒ�����Ă����܂��B�܂��͐ݒ�t�@�C���́uhostapd.conf�v��nano�ō쐬���܂��B

$ sudo nano /etc/hostapd/hostapd.conf

�@���ɔ����̃t�@�C�����\�����ꂽ��A�ȉ��̍��ڂ���͂��܂��B

interface=wlan0
driver=nl80211
hw_mode=b
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
ieee80211ac=0
wmm_enabled=1
ieee80211d=1
country_code=JP
ieee80211h=1
local_pwr_constraint=3
spectrum_mgmt_required=1
wpa=3
wpa_key_mgmt=WPA-PSK
ssid=raspi
wpa_passphrase=******

�@��L�̂��ꂼ��ɂ‚��ĉ�����܂��B

  • interface=wlan0

�@�ڑ�����C���^�t�F�[�X���K�肵�܂��B����̓��Y�p�C�̖���LAN�����g���̂Łuwlan0�v�ƂȂ�܂��B

  • driver=nl80211

�@�ڑ��ɗ��p���閳��LAN�C���^�t�F�[�X�̃h���C�o�ł��B

  • hw_mode=b

�@���p������g���тł��B�ub�v��IEEE 802.11b�A�ug�v��IEEE 802.11g�A�ua�v��IEEE 802.11a�ƂȂ�܂��B�����IEEE 802.11b���g���̂Łub�v�ɂ��܂��B

  • channel=1

�@�g�p����`�����l���ł��B���łɖ���LAN���[�^�[������Ȃ�A�uWiFi Analyzer�v�Ȃǂ̃c�[���ŁA���g���Ă���`�����l���𒲂ׂāA���‚��Ȃ��悤�ɐݒ肵�Ă��������B

  • macaddr_acl=0

�@MAC�A�h���X�ɂ��t�B���^�����O�ł����A�����̓I�t�i0�j�̐ݒ�ɂ��܂��B

  • auth_algs=1

�@�F�؃A���S���Y���ł��BWPA���g���ꍇ�́u1�v�AWEP�Ȃ�u2�v�A�����g���Ƃ��́u3�v�A�Í����Ȃ��̏ꍇ�́u0�v�ł��B�����WPA���g���܂��B

  • ignore_broadcast_ssid=0

�@SSID���O�҂ɎQ�Ƃ���Ȃ��悤�ɂ���ݒ�ł��B����̓I�t�i0�j�ɂ��܂��B

  • ieee80211ac=0

�@IEEE 802.11ac��L���ɂ��邩�ǂ����ł��B����͐ݒ肵�܂���̂Łu0�v��ݒ肵�܂��B

  • wmm_enabled=1

�@WMM�iWME)�AQoS����̋K�i�Ɋւ���ݒ�ł��B����͗L���ɂ��邽�߂Ɂu1�v�Ƃ��܂��B

  • ieee80211d=1
  • ieee80211h=1

�@IEEE 802.11d��IEEE 802.11h�Ƃ����A���̋K���ɉ������o�͐�����s���K�i�̐ݒ�ł��B�L���ɂ���̂ŗ����Ƃ��u1�v�Ƃ��܂��B

  • country_code=JP

�@���{�Ŏg���̂�JP�Ƃ��܂��B

  • local_pwr_constraint=3
  • spectrum_mgmt_required=1

�@����LAN�̏o�͂ȂǂɊւ���ݒ�ł��B

  • wpa=3

�@�g�p����WPA�̃o�[�W������ݒ肵�܂��BWPA�́u1�v�AWPA2�́u2�v�A�����g���Ƃ��́u3�v�ł��B

  • wpa_key_mgmt=WPA-PSK

�@���p���鋤�L���F�؂̕����ł��B

  • wpa_pairwise=CCMP
  • rsn_pairwise=CCMP

�@���p����Í��������ł��B

  • ssid=raspi

�@�g�p����SSID�ł��B�����ł́uraspi�v�Ƃ��Ă��܂����A�C�ӂɌ��߂ē��͂��܂��傤�B

  • wpa_passphrase=******

�@�ڑ�����ۂ̃p�X���[�h�����߂܂��B�p�X���[�h��8�`64�����̊ԂŐݒ�ł��܂��B

�@������hostapd�̃f�t�H���g����t�@�C����ҏW���܂��B�ȉ��̂悤�ɓ��͂���nano���N�����܂��B

$ sudo nano /etc/default/hostapd

�@�\�����ꂽ���ڂ̒��́u#DAEMON_CONF=""�v���ȉ��̂悤�ɕύX���܂��B�擪�́u#�v���폜���Ă����܂��B

DAEMON_CONF="/etc/hostapd/hostapd.conf"

�@������hostapd�������Ă��邩�m���߂Ă����܂��B

$ sudo systemctl status hostapd

�@����ƂقƂ�ǂ̏ꍇ�́A���L�̂悤�ȃ��b�Z�[�W���\������āA���삵�Ă��Ȃ����Ƃ�������܂��B

�� hostapd.service
   Loaded: masked (Reason: Unit hostapd.service is masked.)
   Active: inactive (dead)

�@���̂悤�ȏꍇ�́A�ȉ��̃R�}���h����͂��ă}�X�N���O���A�ċN�������܂��傤�B

sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd

�@�Ăсusudo systemctl status hostapd�v�Ɠ��͂���ƁA�T�[�r�X�̋N�����m�F�ł��܂��B

�� hostapd.service - Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authent
   Loaded: loaded (/lib/systemd/system/hostapd.service; enabled; vendor preset:
   Active: active (running) since Thu 2020-07-30 10:29:04 JST; 6s ago
�c�c
�c�c
�c�c

�@���x�̓��Y�p�C�Ń|�[�g�t�H���[�h�@�\�i�p�P�b�g��C�ӂ̃f�o�C�X�ɓn�����Ɓj��ݒ肷�邽�߂ɁAnano�Łu/etc/sysctl.conf�v��ҏW���܂��B

$ sudo nano /etc/sysctl.conf

�@�Ƃ��ăt�@�C����\�����ꂽ��A�ȉ��̍s�̐擪�ɂ���u���v���폜���܂��B

net.ipv4.ip_forward=1
�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

'; e_dlv.innerHTML = html; adRequest({position:dlv_pos,dom:true}); }else if(ad_type === 'gam'){ var html = '
'; e_dlv.innerHTML = html; refreshGam('InArtSpecialLink'); }else if(ad_type === 'logly'){ var html = '
'; e_dlv.innerHTML = html; loglySet(g_id); }else if(ad_type === 'google'){ var html = '
'; e_dlv.innerHTML = html; googletag.cmd.push(function(){ var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); googletag.display('div-gpt-ad-1551176482959-0'); googletag.pubads().refresh([slot8]); }); } }; var insert_ok = function(_target,_str){ var clearfix = d.createElement('div'); clearfix.className = 'colBoxClear'; if(ad_float_fix){ e_body.insertBefore(e_dlv,_target); e_body.insertBefore(clearfix,_target.nextElementSibling); }else{ e_body.insertBefore(e_dlv,_target); } set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = 'none'; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY �����q�v�f var e_tags = []; // BODY �����^�O var p_num = []; // BODY ���� P �^�O�ʒu var p_target_num; // �g�}����ʒu var o_float = {}; // ��荞�ݗv�f var o_this = {}; // �A�N�e�B�u�^�O var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O var flag_insert = 0; // �}���t���O // ��荞�ݗv�f�`�F�b�N var check_float = function(_e){ var e = 0; if(_e.id.match(/^col\d{3}(l|r)$/)){ e = _e; } return e; }; // �v�f�� Y ���W�ƍ����̍��v�l var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === 'P'){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) - 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; if(dis_con) p_target_num = 0; for(var i = p_num[p_target_num]; i < e_tags.length; i++){ o_this.e = check_ptag(e_tags[i]); if(o_this.e){ o_next.e = check_ptag(e_tags[i + 1]); if(o_next.e){ if(!o_float.e || check_float(e_tags[i - 1])){ o_float.e = check_float(e_tags[i - 1]); o_float.n = i - 1; } if(o_float.e && o_float.n < i + 1){ o_float.y = get_element_y(o_float.e); o_this.y = get_element_y(o_this.e); set_line(o_float.y,'red'); set_line(o_this.y,'blue'); if(o_float.y < o_this.y){ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���'); break; } }else{ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�'); break; } } }else{ o_float = {}; } } if(!flag_insert){ insert_ng('�}���ʒu�Ȃ�'); } }; // �S�q�v�f����^�O�̂ݔz��ɓ���� for(var i = 0; i < e_nodes.length; i++){ if(e_nodes[i].tagName){ e_tags.push(e_nodes[i]); } } // �S�^�O���� P �^�O�ʒu��z��ɓ���� for(var i = 0; i < e_tags.length; i++){ if(e_tags[i].tagName === 'P') p_num.push(i); // �ŏ��̉�荞�ݗv�f���i�[ if(!o_float.e){ o_float.e = check_float(e_tags[i]); o_float.y = get_element_y(o_float.e); o_float.n = i; } } if(p_num.length >= _threshold){ try_insert(); }else{ insert_ng('P �^�O ' + _threshold + ' �ȉ�'); } }; if(e_body){ main(); }else{ insert_ng('�L���{���Ȃ�'); } })(document,4,5);