�T�[�o�Ƃ���
�E�O������̐ڑ��p�P�b�g�͊�{�I�ɂ��ׂĔj��
�E�������ڑ��ςݒʐM�̃p�P�b�g�͋���
�E��������̐ڑ��p�P�b�g�͊�{�I�ɂ��ׂċ���
�E���[�v�o�b�N�A�h���X�Ɋւ��Ă͂��ׂċ���
�E�����e�i���X�z�X�g�����ping�A�����e�i���X�z�X�g�ւ�ping������
�E�����e�i���X�z�X�g�����ssh�iTCP 22�j������
���[�^�Ƃ���
�ELinux�T�[�o���o�R���ĊO���֏o�Ă����p�P�b�g�̃\�[�X�A�h���X��ϊ�
�E�����A�h���X���O���A�h���X
�E�����A�h���X��v���C�x�[�g�A�h���X���O���ɘR��Ȃ��悤�Ƀu���b�N
�@�s�̂̃u���[�h�o���h���[�^�Ɠ����悤�ȓ���������Linux���[�^�����܂��BLinux�T�[�o��2����NIC��g�ݍ��݁A����ɂ̓v���o�C�_�Ȃǂ���^����ꂽ�O���[�o���A�h���X�A��������ɂ̓v���C�x�[�g�A�h���X��ݒ肵�܂��i�ȉ��A�O���[�o���A�h���X�����O���l�b�g�A�v���C�x�[�g�A�h���X��������l�b�g�Ƃ��܂��j�B
�@�O����������l�b�g�ւ̐ڑ��͈�؋����܂��A�����l�b�g����O���l�b�g�ւ̐ڑ��ɐ����݂͐��܂���B�܂��A�Y�ꂪ���ȃT�[�o���g�̃t�B���^�ݒ�́A��1��̃e���v���[�g5����HTTP�T�[�r�X���폜�������̂𗘗p���܂��B
�@3�`7�s�ڂŊ��ɍ��킹���l��ݒ肵�܂��B
$trusthost�@�����e�i���X�z�X�g
$internal_ip�@�����l�b�g���[�N
$my_internet_ip�@Linux���[�^�̊O���l�b�g���A�h���X
$my_internal_ip�@Linux���[�^�̓����l�b�g���A�h���X
�ł��B�����e�i���X�z�X�g���O���l�b�g���ɂ���ꍇ�́A�e���v���[�g�̏C�����K�v�ɂȂ�̂Œ��ӂ��K�v�ł��B���̕��@�͌�q���܂��B
�@Linux�����[�^�Ƃ��ċ@�\������ɂ́AIP�p�P�b�g���t�H���[�h�i�]���j����K�v������܂��B�����ŁA9�s�ڂ̏�����Linux�N������1�x�������s���܂��B
9 echo 1 > /proc/sys/net/ipv4/ip_forward
�@14�`16�s�ڂ�iptables�̏��������s���܂��B�O��̏�����15�s�ڂ�lj����Ă��܂��B
15 iptables -t nat -F
�@�u-t nat�v��nat�e�[�u�����w�肵�A�u-F�v�ŏ��������s���܂��B���̂悤�ɁA�e�[�u���̎w��ɂ́u-t�v�I�v�V�������g�p���܂��B
�@21�`28�s�ڂŃf�t�H���g���[����ݒ肵�܂��B��{�͔j���iDROP�j�ł����A�e���v���[�g5���l�A��������̐ڑ��iOUTPUT�j�ɂ͐�����݂����iACCEPT�j�ALinux���[�^�O���i�O���^�����l�b�g���܂߂��ALinux���[�^���猩���O���̃l�b�g���[�N�j����̐ڑ��iINPUT�j�̓p�P�b�g�̃X�e�[�g�t�������m�F���A�u--state ESTABLISHED,RELATED�v�ƂȂ��Ă�����̂ɒʉߋ��iACCEPT�j��^���܂��B
27 iptables -A FORWARD -i eth1 -o eth0 -s $internal_ip -j ACCEPT 28 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
�@����́ALinux���[�^���g����������p�P�b�g�����ł͂Ȃ��A�t�H���[�h����p�P�b�g�ɂ��Ă��f�t�H���g���[����݂���K�v������܂��B����͓����l�b�g����O���l�b�g�ւ̐ڑ��܂�ueth1���������eth0�֏o�Ă����p�P�b�g�v�͐����Ȃ��Ƃ��A27�s�ڂ�lj����܂��B����ɍ��킹�āA28�s�ڂŁueth0����eth1�֏o�Ă����p�P�b�g�v���X�e�[�g�t�������m�F�ł������̂�������悤�ɂ��܂��B
�@�������炪�e���v���[�g6�̗v�AIP�}�X�J���[�h�̐ݒ�ł��B��{�͂���1�s�ł��B
55 iptables -t nat -A POSTROUTING -o eth0 -s $internal_ip -j MASQUERADE
-t nat�@nat�e�[�u�����g�p
-A POSTROUTING�@POSTROUTING�`�F�C�����g�p���A�����l�b�g����O���l�b�g�֏o�Ă����p�P�b�g�̃\�[�XIP������������
-o eth0�@�p�P�b�g���o�Ă����C���^�[�t�F�C�X��eth0�Ǝw��
-s $internal_ip�@�\�[�X���l�b�g���[�N�A�h���X��$internal_ip�i192.168.0.0/24�j
-j MASQUERADE�@IP�}�X�J���[�h���s��
�@�����l�b�g���̃p�P�b�g���O���l�b�g�Ń��[�e�B���O�����ɂ́A�o�Ă����p�P�b�g�̃\�[�X�A�h���X���v���C�x�[�g�A�h���X����Linux���[�^�̊O���l�b�g���ieth0�j�̃A�h���X�ɏ���������K�v������܂��iSNAT�j�B���̂��߂�POSTROUTING�`�F�C�����g�p���A�����Ɂu-j MASQUERADE�v���w�肵�A�����̃p�P�b�g��1�̊O���A�h���X�����L�ł���悤��IP�}�X�J���[�h���g�p���܂��B����1�s�Ńu���[�h�o���h���[�^�̖����̂قƂ�ǂ����Ȃ��Ă��܂��B
�@POSTROUTING��nat�e�[�u���ł����g�p�ł��܂���B�܂��u-j MASQUERADE�v��POSTROUTING�`�F�C���ƈꏏ�ɗp����K�v������܂��BPREROUTING�`�F�C���Ɂu-j MASQUERADE�v���w�肵���ꍇ�A���Ȃ킿DNAT��IP�}�X�J���[�h���g�p����ꍇ�̓G���[���o�͂��܂��Biptables�̃e�[�u���^�`�F�C���̊T�O�́A���������I�v�V�����w��~�X�����������铭��������܂��B
�@60�`63�s�ڂł́A�u�����A�h���X��v���C�x�[�g�A�h���X���O���l�b�g���[�N�ɘR��Ȃ��悤�Ƀu���b�N����v�����{���Ă��܂��B
60 iptables -A OUTPUT -o eth0 -d 10.0.0.0/8 -j DROP 61 iptables -A OUTPUT -o eth0 -d 176.16.0.0/12 -j DROP 62 iptables -A OUTPUT -o eth0 -d 192.168.0.0/16 -j DROP 63 iptables -A OUTPUT -o eth0 -d 127.0.0.0/8 -j DROP
�@�}�i�[�Ƃ��ăv���C�x�[�g�A�h���X���O���ɘR�o���Ȃ��͓̂��R�Ƃ��āA�ŋ߂ł�IP�X�v�[�t�B���O�Ń\�[�XIP�Ƀv���C�x�[�g�A�h���X���g�p����P�[�X�����邽�߁A���������p�P�b�g�Ɠ��ꎋ����Ȃ��悤�ɂ��܂��B
�@68�`72�s�ڂ܂ł��A�e���v���[�g5�Ɠ������j�������p�P�b�g�̃��M���O�ł��BFORWARD�`�F�C���ɑ��Ă����M���O��ݒ肵�Ă��܂��B
68 iptables -N LOGGING 69 iptables -A LOGGING -j LOG --log-level warning --log-prefix "DROP:" -m limit 70 iptables -A LOGGING -j DROP 71 iptables -A INPUT -j LOGGING 72 iptables -A FORWARD -j LOGGING
�@sh�X�N���v�g���p�ӂł�����A�O���̂悤��sh�X�N���v�g�����s���Ċm�F���܂��B
# iptables -nL #filter�e�[�u���̐ݒ�m�F # iptables -t nat -nL #nat�e�[�u���̐ݒ�m�F
�@�s�̂̃u���[�h�o���h���[�^�Ɠ����Ƃ����ɂ́A�p����Z�L�����e�B�ʂŕ�����Ȃ����c��܂��B�����̋@�\�ɂ��Ă͂��������Љ�Ă������Ƃɂ��܂��B
�@33�`50�s�ڂ��e���v���[�g5�Ɠ����ł����A���ɂ���Ă͌��������K�v�ɂȂ�܂��B�O�q�����A�u�����e�i���X�z�X�g���O���l�b�g���ɂ���ꍇ�v�̂��Ƃł��B�����e�i���X�z�X�g�����ssh�ڑ��������Ă���48�`50�s�ڂ����Ă݂܂��傤�B
48 iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP 49 iptables -A INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED -s $trusthost -d $my_internal_ip --dport 22 -j ACCEPT 50 iptables -A OUTPUT -p tcp -s $my_internal_ip --sport 22 -d $trusthost -j ACCEPT
�@�����e�i���X�z�X�g�̃A�h���X�ϐ��ł���$trusthost�ɑ��āA�T�[�o�̃C���^�[�t�F�C�XIP�Ɏg�p����Ă���͓̂����l�b�g���̃A�h���X$my_internal_ip�ɂȂ��Ă��܂��B�����e�i���X�z�X�g���O���l�b�g�ɐ݂���ꍇ�A$trusthost��P�ɏ��������Ă������l�b�g���̃A�h���X$my_internal_ip�ɂ͓��B���܂���B���̂悤�ȏꍇ�́A$my_internal_ip��$my_internet_ip�ɒu�������ALinux���[�^�̊O���l�b�g���A�h���X���Q�Ƃ���悤�ɂ��܂��B
48 iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP 49 iptables -A INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED -s $trusthost -d $my_internet_ip --dport 22 -j ACCEPT 50 iptables -A OUTPUT -p tcp -s $my_internet_ip --sport 22 -d $trusthost -j ACCEPT
Copyright © ITmedia, Inc. All Rights Reserved.