Path: blob/main/documentation/manual-pages/ja/man5/ipnat.5
18093 views
.\" $FreeBSD$
.TH IPNAT 5
.SH ̾��
ipnat, ipnat.conf \- IP NAT �ե�����η���
.SH ����
ipnat �������դ���ե�����η����ϡ��ʲ���ʸˡ�ǵ��Ҥ�����ΤǤ���
.LP
.nf
ipmap :: = mapblock | redir | map .
map ::= mapit ifname ipmask "->" dstipmask [ mapport ] mapoptions.
map ::= mapit ifname fromto "->" dstipmask [ mapport ] mapoptions.
mapblock ::= "map-block" ifname ipmask "->" ipmask [ ports ] mapoptions.
redir ::= "rdr" ifname ipmask dport "->" ip [ "," ip ] rdrport rdroptions .
dport ::= "port" number [ "-" number ] .
ports ::= "ports" number | "auto" .
rdrport ::= "port" number .
mapit ::= "map" | "bimap" .
fromto ::= "from" object "to" object .
ipmask ::= ip "/" bits | ip "/" mask | ip "netmask" mask .
dstipmask ::= ipmask | "range" ip "-" ip .
mapport ::= "portmap" tcpudp portspec .
mapoptions ::= [ tcpudp ] [ "frag" ] [ age ] [ clamp ] .
rdroptions ::= [ tcpudp | protocol ] [ rr ] [ "frag" ] [ age ] [ clamp ] .
object = addr [ port-comp | port-range ] .
addr = "any" | nummask | host-name [ "mask" ipaddr | "mask" hexnumber ] .
port-comp = "port" compare port-num .
port-range = "port" port-num range port-num .
rr ::= "round-robin" .
age ::= "age" decnumber [ "/" decnumber ] .
clamp ::= "mssclamp" decnumber .
tcpudp ::= "tcp/udp" | "tcp" | "udp" .
protocol ::= protocol-name | decnumber .
nummask ::= host-name [ "/" number ] .
portspec ::= "auto" | number ":" number .
ifname ::= 'A' - 'Z' { 'A' - 'Z' } numbers .
number ::= numbers [ number ] .
numbers ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' .
.fi
.PP
����˲ä���# �ϥ����Ȥγ��ϤȤ��ƻ��Ѥ��졢
NAT �롼��ȶ��˹������о줹�� (����) ����
��������ιԤ��о줷�ޤ���
���Ԥ�̵�뤵��ޤ���
.PP
ɸ��Ū�� NAT ��ǽ�Ǥϡ��ҤȤĤΥ롼��� \fBmap\fP �ǻϤޤꡢ
���θ�˥��ե������λ��꤬³���ޤ������Υ��ե���������
�ѥ��åȤ��ФƹԤ��ݤ˥��������ɥ쥹���������ޤ���
.PP
��������ѥ��åȤ�����ϡ���ȤΥ��������ɥ쥹�Ȥξȹ�Τߤ�
�Ԥʤ��ޤ���IP ���ɥ쥹�λ���ˤϥͥåȥޥ�������ꤹ��ɬ�פ�
����ޤ���
.PP
��ȤΥ��ɥ쥹���֤��������륢�ɥ쥹�ϡ�IP�ֹ�/�ͥåȥޥ������Ȥ���
���Ф�ޤ������٤� 1 �Υͥåȥޥ����ϡ��ۥ���̾�����������Ȥ�ɽ���ޤ���
1 �� 31 �Ĥ���ʤ�ͥåȥޥ��� (255.255.255.254) �ϡ��֥����ɥ��㥹��
���ɥ쥹�ȥͥåȥ�����ɥ쥹���ä����Ȥǥۥ��� IP �ֹ�������Ƥ�
;͵���ʤ����ᡢ�������ʤ��ȸ��ʤ���ޤ���
.PP
TCP �ѥ��åȤ� UDP �ѥ��åȤκƥޥåפκݤˤϡ��������ݡ����ֹ���ѹ�
���ǽ�Ǥ���TCP, UDP �ѥ��åȤȤ�ɤ⡢���줾��ε�§������ǽ�Ǥ���
�����ϡ���§�Τ������˺ƥޥå���Υݡ����ֹ���ϰϤ�
\fBport-number:port-number\fP �η����ǻ��ꤷ�ޤ���
.SH ���ޥ��
IP �ե��륿�� NAT �����ɤ�ǧ�����륳�ޥ�ɤ� 4 �Ĥ���ޤ�:
.TP
.B map
���ɥ쥹�⤷���ϥͥåȥ���ҤȤĤ������ʤ��Υ饦��ɥ��ӥ�ˡ��
¾�Υ��ɥ쥹�˼�������Ȥ����Ѥ��ޤ���
.TP
.B rdr
���� IP ���ɥ쥹�ȥݡ��Ȥ��Ȥ����̤��Ȥˡ��ѥ��åȤ������쥯�Ȥ���
�Ȥ����Ѥ��ޤ���
.TP
.B bimap
���� IP ���ɥ쥹������ IP ���ɥ쥹�Ȥδ֤������� NAT �����ꤹ��Ȥ���
�Ѥ��ޤ���
.TP
.B map-block
IP ���ɥ쥹�˴�Ť���Ū���Ѵ������ꤷ�ޤ������ɥ쥹��ʤ���ߡ���Ū���ϰϤ�
���ޤ�褦���Ѵ����륢�르�ꥺ��˴�Ť���ΤǤ���
.SH �ȹ����
.PP
����Ū�� NAT ��ǽ�ȥѥ��åȤΥ�����쥯�Ȥˤ����Ƥϡ��ץ��ȥ���ȤȤ��
�ѹ���ǽ���Τ��륢�ɥ쥹���Ѥ��ơ�����ѥ��åȤ��ѹ����ͤФʤ�ʤ���
�ɤ���������å����ޤ���
���줾��ε�§�� "->" �κ��դϡ����ε�§�Υѥ��å�\fI�ȹ����\fP
��ʬ�Ǥ���
.PP
�ѥ��åȤξȹ�����ϡ����ʣ������Ӥ���ǽ�ʤ褦�˳�ĥ����ޤ�����
�Ѵ�����륢�ɥ쥹��ʬ�ˤ����Ƥϡ�
IP ���ɥ쥹�ȥݡ����ֹ����Ӥϡ�\fBipf\fP �ǻ��Ѳ�ǽ�ʼ�����Ѳ�ǽ�Ǥ���
ñ��� NAT �롼��ϼ��Τ褦�˵��Ҳ�ǽ�Ǥ�:
.LP
.nf
map de0 10.1.0.0/16 -> 201.2.3.4/32
.fi
.LP
�ޤ���
.LP
.nf
map de0 from 10.1.0.0/16 to any -> 201.2.3.4/32
.fi
.LP
"from" ��ޤ��� "to" ������˴�ò�� ("!") ���դ��뤳�Ȥǡ�
������������ɽ�����Ȥ��Ǥ��ޤ���â����\fBmap\fP �롼����� "from"
������䡢\fBrdr\fP �롼����� "to" ������ϻȤ��ʤ���ǽ�������뤳�Ȥ�
���դ��Ʋ����������Τ褦�ʥ롼��ϼ��Τ褦�ˤʤ�ޤ�:
.LP
.nf
+map de0 from 10.1.0.0/16 ! to 10.1.0.0/16 -> 201.2.3.4/32
.fi
.PP
IP ���ɥ쥹�ȥݡ����ֹ�Τߡ�����оݤˤǤ��ޤ���
����ϡ����٤Ƥ� NAT �롼��ǻ��Ѳ�ǽ�Ǥ���
.SH ���ޥ�ɽ�����
�ƥ롼��κǸ�ˡ����������Ѥ��ƥ롼���ư����ѹ���ǽ�Ǥ���
������ϼ����̤�Ǥ�:
.TP
protocol
����Υץ��ȥ����̾�� (/etc/protocols �ˤ�����) �����ͤǻ����ǽ�Ǥ���
TCP ����� UDP ��ξ���ݡ��Ȥ��뤿����ü쥱�����Ȥ��ơ�
̾�� \fBtcp/udp\fP ��������Ƥ��ޤ���
.TP
.B round-robin
���ι����ĥ롼�뤬�����˻��Ѥ����ȡ�
���Υ롼��ϻ��Ѳ�ǽ�ʥ롼�������֤���ޤ���
����ˤ�ꡢ
Ŭ�礹�뺸�դ���ijƥ롼�뤬���֤˰��٤��Ļ��Ѥ����褦�ˤʤ�ޤ���
.TP
.B frag
���ν�����ϡ����ߤΤȤ��� NAT ư��˱ƶ�����ޤ���
.TP
.B age
NAT �������Τ��Ф������Ū�˻��Ѳ�ǽ�ʥ����ॢ���Ȥ���
��̩�ʤ�Τ����Ѥ�������硢\fB�� TCP\fP �ˤ����ƤϤ������Ѥ���
�����ॢ���Ȥ������ǽ�Ǥ���
.SH �Ѵ�����
.PP
"->" �α��դϡ����������������Ȥξȹ礬�����������Ƥ�����ˡ�����
�ѥ��åȤ˽��ޤ�륢�ɥ쥹�ȥݡ��Ȥ���ꤹ����ʬ�Ǥ���������쥯�Ȥ�
��� (\fBrdr\fP) ���Ǥ�ñ��Ǥ����������ǥ��ƥ��͡�����ɥ쥹��
������ǻ��ꤷ�ޤ���
\fBmap\fP ��§���Ф��Ƥϡ��ǥ��ƥ��͡�����ɥ쥹�ϡ����������ɥ쥹
���� (�������ȥǥ��ƥ��͡������) �����Ū�Ǥ�����Τ��Ƥ��륢�ɥ쥹
�ˤʤ�ޤ����ѥ��åȤ� TCP �� UDP �ѥ��åȤξ�硢�ǥ��ƥ��͡������
�ݡ��Ȥȥ������ݡ��Ȥ⤳�������˴ޤ�ޤ���
���ɥ쥹���Ȥ�����¸�ߤ����硢IP �ե��륿�ϡ��ޤ� \fBportmap\fP ��
���ꤷ��ͭ���ϰ���ǥݡ����ֹ�� 1 �����䤷�ޤ����������Ƥ���Ū��
���ɥ쥹���Ȥ������ʤ���硢���ꤵ�줿�ͥåȥޥ������ϰ����
���������ɥ쥹�� 1 �����䤷�ޤ������Ū�ʥ��ɥ쥹���Ȥ��褷�������ʤ�
��硢�ѥ��åȤ��Ѵ�����ޤ���\fBmap-block\fP �Ǥϡ��������ɥ쥹���ȡ�
�ե�ʥ��ɥ쥹���ȡ����Ū�ʥ��ɥ쥹���Ȥ������꤫����������
����ޤ��������Ǥϡ��ݡ��Ȥ�ͭ���ϰϤ˲ä��ơ����������������ɥ쥹��
���ˤ��뤫����ꤹ�륢�르�ꥺ�����Ѥ��ޤ���IP ���ɥ쥹�Ϸ褷��
�ѹ�����ޤ����ݡ����ֹ�������Ƥ�줿�ϰϤ�ۤ����Τ�
�ѹ�����ޤ���
.SH �����ͥ�ץ�����
.PP
IP �ե��륿�ˤϡ������ͥ�˥����ɤ���륳���ɤ�����Ȥ߹��ޤ줿ñ���
�ץ������������Ĥ��դ��Ƥ��ޤ�������ˤ�ꡢ�ѥ��åȤ�桼���ץ�������
�̤������� 2 ���ܤΥ���ͥ���Ƥ������Ȥ���ǽ�Ȥʤ�ޤ���
.SH Ʃ�᷿�ץ�����
.PP
����Ʃ�᷿�ץ��������� (transparent proxying) �ϡ��ºݤ�ȯ������
���ͥ������Υ��ɥ쥹����ꤹ�뤿�ᡢ\fB/dev/ipnat\fP ��ͳ�Ǹ�����
�Ԥʤ��ץ������ץ��������Ѥ��ơ�localhost (127.0.0.1) �Υݡ��Ȥ�
�б��դ��������쥯�� (\fBrdr\fP) ��§���Ѥ��ƹԤʤ�ɬ�פ�����ޤ���
.SH ���ʬ��
.PP
\fBrdr\fP ���Ȥ߹�碌�� 2 �ĤΥ��ץ�������Ѳ�ǽ�Ǥ���
����ˤ�ꡢ����Ū��\fI�饦��ɥ��ӥ�\fP�١��������ʬ���ݡ��Ȥ��ޤ���
�ǽ�Υ��ץ����ϡ�\fBrdr\fP �Ѥ� 2 ���ܤν������Τ褦�˻��ꤷ�ޤ�:
.LP
.nf
rdr le0 203.1.2.3/32 port 80 -> 203.1.2.3,203.1.2.4 port 80 tcp
.fi
.LP
����ˤ�ꡢ203.1.2.3 �� 203.1.2.4 �ظ�ߤ���³������ޤ���
���¿���Υ����Ф���٤�ʬ�����������ˤϡ����Τ褦�ˤ��ޤ�:
.LP
.nf
rdr le0 203.1.2.3/32 port 80 -> 203.1.2.3,203.1.2.4 port 80 tcp round-robin
rdr le0 203.1.2.3/32 port 80 -> 203.1.2.5 port 80 tcp round-robin
.fi
.LP
���ξ�硢��³�� 203.1.2.3 �ˤޤ�������졢���� 203.1.2.4 �˸�����졢
������ 203.1.2.5 �˸�����졢�Ǹ�� 203.1.2.3 �����ޤ���
�����¸�����ݡ�ɬ�פ˱����Ƽ�ưŪ�ˡ�
�롼�뤬�ꥹ�Ȥ���Ƭ�����������ƺǸ���ɲä���ޤ���
����ϡ�"ipnat -l" ����Ѥ����롼��ɽ���ˤϱƶ�������
����Ū��Ŭ�ѽ���ˤΤ߱ƶ����ޤ���
.SH ������
.PP
�ܥ��������Ǥϡ�\fBmap\fP ���ޥ�ɤȤ����ѷ����ޤ���
.PP
ppp0 ���ե�������ͳ�ǡ������ǻ��Ѥ��� IP �ֹ椬�ͥåȥ�� 10 ��
�ѥ��åȤ�ISP (�����ͥåȥ����ӥ��ץ��Х���) �����Ƥ��줿
209.1.2.0 (8 �ӥåȥ��֥ͥå�) ���ѹ������硢�ʲ��ε�§��Ȥ��ޤ���
.LP
.nf
map ppp0 10.0.0.0/8 -> 209.1.2.0/24
.fi
.PP
�����ǡ�16,000,000 �İʾ�� IP ���ɥ쥹�� 254 �Ĥ˹ʤ���⤦�Ȥ��뤳��
������ʤΤ����餫�Ǥ��礦���������פ��뤿��ˡ�TCP �� UDP �ˤĤ��Ƥ�
�ݡ��Ⱥƥޥåפ�Ȥ����Ȥ�Ǥ��ޤ���
.LP
.nf
map ppp0 10.0.0.0/8 -> 209.1.2.0/24 portmap tcp/udp 1025:65000
.fi
.PP
����ǡ��ͥåȥ�� 10 �����Ѳ�ǽ�ʶ��֤Τ�������ʬ�� ``���ɥ쥹''
527,566 ��ʬ�����ˤʤ�ޤ��������ε�§���礵����Ȥ���ȡ�����
�褦�ʻ��꤬ɬ�פȤʤ�ޤ���
.LP
.nf
map ppp0 10.0.0.0/8 -> 209.1.2.0/24 portmap tcp/udp 1025:65000
map ppp0 10.0.0.0/8 -> 209.1.2.0/24
.fi
.PP
���η�̡�TCP/UDP �ѥ��åȤ����Ƥϥݡ����Ѵ����졢ICMP�ʤɡ�
����ʳ��Υץ��ȥ��������IP �ֹ�������Ѵ�����ޤ���
���ˤ�äƤϡ�Ϳ����줿�ϰ�������Ƥؤ�Ʊ�������������ݾڤ�����
���Ȥ����ꡢ���ξ��ˤϡ��ºݤΥݡ����ֹ��ϰϤ������
������� \fBauto\fP ����Ѥ����ۤ���Ŭ�ڤʤ��Ȥ⤢��ޤ���
�����������ξ��� 24 �ӥåȤΥ��ɥ쥹���֤� 8 �Ĥ˹ʤ����Τǡ�
IP ���ɥ쥹���Ȥ˥ݡ��� 1 �Ĥ��ǥե���ȤǤ���
�ɤΤ褦�ˤ������Ѥ��뤫�ˤĤ��Ƥ��ɤ���ϼ��Τ褦�ˤʤ�ޤ���
.LP
.nf
map ppp0 172.192.0.0/16 -> 209.1.2.0/24 portmap tcp/udp auto
.fi
.PP
������Ǥϡ�IP ���ɥ쥹�Τ��줾��ˤĤ����鷺�����ϰ� (252 ��) �Υݡ��Ȥ�
Ϳ�������̤ˤʤ�ޤ��������Ǥ�����ϡ�\fBmap\fP �ǥ��쥯�ƥ��֤�
�������Υ��ͥ��������Ф����Ѳ�ǽ�ʼ��Υ��ɥ쥹/�ݡ��Ȥ��Ȥ�
���Ѥ��뤳�Ȥ� NAT �����ɤ˻ؼ�����Τǡ�
���η�̡��������ɥ쥹/�ݡ��Ȥ��Ȥ��������ɥ쥹/�ݡ��Ȥ��Ȥδ֤�
�ط��μ��̤��ưפǤʤ��ʤ뤳�ȤǤ���
��������ϼ��Τ褦�ˡ�\fBmap-block\fP ����Ѥ��뤳�Ȥǹ����Ǥ��ޤ���
.LP
.nf
map-block ppp0 172.192.0.0/16 -> 209.1.2.0/24 ports auto
.fi
.PP
�㤨�С����η�̡�172.192.0.0/24 �ϡ�209.1.2.0/32 ���Ѵ����졢
172.192.0.0 ���� 172.192.0.255 ���ϰϤγƥ��ɥ쥹�ϡ�
���줾�켫ʬ�Ѥ� 252 �ݡ��Ȥ���Ĥ��Ȥˤʤ�ޤ���
��� \fBmap\fP ����ˡ�ȵդˡ�
���餫����ͳ�ˤ�� (�㤨��) 172.192.0.2 �Υ桼���� 260 �Ĥ�Ϣ³����
���������ͥ�������ɬ�פȤ����硢\fBmap-block\fP �ʤ�� 252 ���ϰϤ�
���ꤵ��ޤ�����\fBmap\fP ���ޥ�ɤξ�硢���� IP ���ɥ쥹��\fI�ܹ�\fP
���뤳�Ȥˤʤ�ޤ���
.SH ��Ϣ�ե�����
/dev/ipnat
.br
/etc/services
.br
/etc/hosts
.SH ��Ϣ����
ipnat(4), hosts(5), ipf(5), services(5), ipf(8), ipnat(8)