Path: blob/main/documentation/manual-pages/ja/man4/ipfirewall.4
18093 views
.\"
.\" %Id: ipfirewall.4,v 1.12 1997/09/29 10:10:15 wosch Exp %
.\" $FreeBSD$
.\"
.Dd June 22, 1997
.Dt IPFIREWALL 4
.Os
.Sh ̾��
.Nm ipfirewall
.Nd IP �ѥ��åȥե��륿����ӥȥ�ե��å�¬��
.Sh ��
.Fd #include <sys/types.h>
.Fd #include <sys/queue.h>
.Fd #include <netinet/in.h>
.Fd #include <netinet/ip_fw.h>
.Ft int
.Fn setsockopt raw_socket IPPROTO_IP "ipfw option" "struct ipfw" size
.Sh ����
ipfirewall (��̾ ipfw) �ϡ������ƥ�Υ��ե��������̲᤹�� IP �ѥ��åȤ�
�Ф��ƥե��륿��������쥯�Ȥʤɤν�����Ԥ������ƥ�ε�ǽ�Ǥ���
�ѥ��åȤ�Ŭ�礹���Τ����Ĥ���ޤǥѥ�����롼��ν�ꥹ�ȤȾȤ餷��蘆��
�ޤ���Ŭ�礹��롼�뤬���Ĥ��ä������Ǥ�����б�����ư���¹Ԥ��ޤ���
�롼��� 1 ���� 65534 �ޤǤ��ֹ��졢
ʣ���Υ롼�뤬Ʊ���ֹ��ͭ���뤳�Ȥ��ǽ�Ǥ���
.Pp
ͣ��ɬ��¸�ߤ���롼��Ȥ��ƥ롼���ֹ� 65535 ������ޤ���
���Υ롼����̾�Ϥ��٤ƤΥѥ��åȤ��˴����ޤ���
�������äơ������꾮�����ֹ�Υ롼���Ŭ�礷�ʤ��ä��ѥ��åȤϤ��٤�
�˴�����ޤ���
�������������ͥ��ѥ��뤹����Υ��ץ����
.Dq IPFIREWALL_DEFAULT_TO_ACCEPT
����ꤹ��ȡ������ԤϤ��٤� (�Υѥ��åȤ��̲��) ���Ĥ���褦��
���θ���롼����ѹ����뤳�Ȥ��Ǥ��ޤ���
.Pp
.Fn setsockopt
���Ϥ�����ͤϡ��롼��Ҥ��Ƥ��� ip_fw ��¤�� (��������) �Ǥ���
(IP_FW_DEL �Τ褦��) �����Ĥ��Υ������Ǥϥ롼���ֹ�Τߤ����פˤʤ�ޤ���
.Sh ���ޥ��
�롼��ꥹ�Ȥ�����˼��Υ����åȥ��ץ�����Ȥ��ޤ�:
.Pp
IP_FW_ADD �ϡ��롼��ꥹ�Ȥ˥롼����������ޤ���
.Pp
IP_FW_DEL �ϡ�Ŭ�礹��롼���ֹ����ĥ롼��٤ƺ�����ޤ���
.Pp
IP_FW_GET �ϡ�Ŭ�礹��롼���ֹ�� (�ǽ��) �롼����֤��ޤ���
.Pp
IP_FW_ZERO �ϡ�
Ŭ�礹��롼���ֹ����Ĥ��٤ƤΥ롼��˴ؤ������פ� 0 �ˤ��ޤ���
�롼���ֹ椬 0 �ξ��ˤϤ��٤ƤΥ롼��� 0 �ˤ��ޤ���
.Pp
IP_FW_FLUSH (65535 �����) ���٤ƤΥ롼���õ�ޤ���
.Pp
�����ͥ�Υ������ƥ���٥뤬 2 ����礭������
IP_FW_GET �Τߤ����Ĥ���ޤ���
.Sh �롼�빽¤��
�롼��ϼ��ι�¤�Τǵ��Ҥ���Ƥ��ޤ�:
.Bd -literal
/* 1 �ĤΥ��ե���������� */
union ip_fw_if {
struct in_addr fu_via_ip; /* IP ���ɥ쥹�ǻ��� */
struct { /* ���ե�����̾�ǻ��� */
#define FW_IFNLEN 6 /* ��¤�Τ� 2^x �������֤� */
char name[FW_IFNLEN];
short unit; /* -1 ��Ǥ�դΥ�˥åȤ�Ŭ�� */
} fu_via_if;
};
/* 1 �Ĥ� ipfw �롼�� */
struct ip_fw {
u_long fw_pcnt,fw_bcnt; /* �ѥ��åȤȥХ��ȿ��Υ����� */
struct in_addr fw_src, fw_dst; /* �����Ƚ����� IP ���ɥ쥹 */
struct in_addr fw_smsk, fw_dmsk;/* �����Ƚ����� IP ���ɥ쥹�Υޥ��� */
u_short fw_number; /* �롼���ֹ� */
u_short fw_flg; /* �ե饰�� */
#define IP_FW_MAX_PORTS 10 /* ���ɤ������� */
u_short fw_pts[IP_FW_MAX_PORTS];/* Ŭ�礹��ݡ����ֹ������ */
u_char fw_ipopt,fw_ipnopt; /* IP ���ץ����Υ��å�/���å� */
u_char fw_tcpf,fw_tcpnf; /* TCP �ե饰�Υ��å�/���å� */
#define IP_FW_ICMPTYPES_DIM (256 / (sizeof(unsigned) * 8))
unsigned fw_icmptypes[IP_FW_ICMPTYPES_DIM]; /* ICMP �����פΥӥåȥޥå� */
long timestamp; /* �ǽ�Ŭ��Υ����ॹ����� (tv_sec) */
union ip_fw_if fw_in_if, fw_out_if;/* ����/���ϤΥ��ե����� */
union {
u_short fu_divert_port; /* Divert/tee �ݡ��� */
u_short fu_skipto_rule; /* SKIPTO ���ޥ�ɥ롼���ֹ� */
u_short fu_reject_code; /* REJECT ���������� */
} fw_un;
u_char fw_prot; /* IP �ץ��ȥ��� */
u_char fw_nports; /* �ݡ���������Ρ������ݡ��ȿ��� */
/* �����ݡ��ȿ� (�����ݡ��Ȥ����� */
/* �ݡ��Ȥ˸�³������Ƿ� 10 �ݡ��� */
/* 0 �����ݡ��ȥޥå��ΰ�̣) */
};
/* ����/�����Υݡ��ȿ��� "fw_nports" �˥����� */
#define IP_FW_GETNSRCP(rule) ((rule)->fw_nports & 0x0f)
#define IP_FW_SETNSRCP(rule, n) do { \\
(rule)->fw_nports &= ~0x0f; \\
(rule)->fw_nports |= (n); \\
} while (0)
#define IP_FW_GETNDSTP(rule) ((rule)->fw_nports >> 4)
#define IP_FW_SETNDSTP(rule, n) do { \\
(rule)->fw_nports &= ~0xf0; \\
(rule)->fw_nports |= (n) << 4;\\
} while (0)
/* flags" �ե�������ѥե饰�� */
#define IP_FW_F_IN 0x0001 /* ���ϥѥ��åȤ�����å� */
#define IP_FW_F_OUT 0x0002 /* ���ϥѥ��åȤ�����å� */
#define IP_FW_F_IIFACE 0x0004 /* ���ϥ��ե������ƥ��Ȥ�Ŭ�� */
#define IP_FW_F_OIFACE 0x0008 /* ���ϥ��ե������ƥ��Ȥ�Ŭ�� */
#define IP_FW_F_COMMAND 0x0070 /* Ϣ��������ȥ��ѤΥޥ��� */
#define IP_FW_F_DENY 0x0000 /* ����ϵ��ݥ롼�� */
#define IP_FW_F_REJECT 0x0010 /* ���ݤ��Ʊ����ѥ��åȤ����� */
#define IP_FW_F_ACCEPT 0x0020 /* ����ϼ����롼�� */
#define IP_FW_F_COUNT 0x0030 /* ����Ϸ��롼�� */
#define IP_FW_F_DIVERT 0x0040 /* ����� divert �롼�� */
#define IP_FW_F_TEE 0x0050 /* �����ʬ���롼�� */
#define IP_FW_F_SKIPTO 0x0060 /* ����ϥ����åץ롼�� */
#define IP_FW_F_PRN 0x0080 /* ���Υ롼�뤬Ŭ�礷������ɽ�� */
#define IP_FW_F_SRNG 0x0100 /* �ǽ�� 2 �Ĥλ����ݡ��Ȥϡ��Ǿ��� *
* ������ϰ� (�ۥ��ȤΥХ��Ƚ�dz�Ǽ) */
#define IP_FW_F_DRNG 0x0200 /* �ǽ�� 2 �Ĥν����ݡ��Ȥϡ��Ǿ��� *
* ������ϰ� (�ۥ��ȤΥХ��Ƚ�dz�Ǽ) */
#define IP_FW_F_IIFNAME 0x0400 /* ���ϥ��ե�������̾��/��˥å� *
* (IP �ǤϤʤ�) */
#define IP_FW_F_OIFNAME 0x0800 /* ���ϥ��ե�������̾��/��˥å� *
* (IP �ǤϤʤ�) */
#define IP_FW_F_INVSRC 0x1000 /* ���������å��ΰ�̣��ȿž */
#define IP_FW_F_INVDST 0x2000 /* ���������å��ΰ�̣��ȿž */
#define IP_FW_F_FRAG 0x4000 /* ���� */
#define IP_FW_F_ICMPBIT 0x8000 /* ICMP �����ץӥåȥޥåפ�ͭ�� */
#define IP_FW_F_MASK 0xFFFF /* ���ꤦ�뤹�٤ƤΥե饰�ӥåȤΥޥ��� */
.Ed
.Sh �롼���ư��
�ƥ롼��ϡ��ե饰����� IP_FW_F_COMMAND �ӥåȤǼ�����롢����ư�������ޤ���
IP_FW_F_DENY - �ѥ��åȤ��˴����ޤ�
IP_FW_F_REJECT - �ѥ��åȤ��˴�����ICMP �ޤ��� TCP ���ͳ���Ƶ��ݤ����Τ��ޤ�
IP_FW_F_ACCEPT - �ѥ��åȤ��������ޤ�
IP_FW_F_COUNT - ���������ä������ޥå���³���ޤ�
IP_FW_F_DIVERT - �ѥ��åȤ� divert(4) �����åȤˤ��餷�ޤ�
IP_FW_F_TEE - �ѥ��åȤ� divert(4) �����åȤ˥��ԡ�������³���ޤ�
IP_FW_F_SKIPTO - �롼���ֹ� fu_skipto_rule �إ����åפ��ޤ�
.Pp
IP_FW_F_REJECT �ξ�硢fu_reject_code ���ֹ椬 0 ���� 255 �ʤ��
�б����륳���ɤȤȤ�˼��������ѥ��åȤλ����� IP ���ɥ쥹��
ICMP unreachable �ѥ��åȤ������֤��ޤ���
�����ǤϤʤ����ˤϡ��ͤ� 256 �ǥץ��ȥ��뤬 IPPROTO_TCP �Ǥ���ɬ�פ����ꡢ
���ξ�� TCP reset �ѥ��åȤ������ޤ���
.Pp
IP_FW_F_SKIPTO ����Ѥ���ȡ�fu_skipto_rule ��꾮�����롼���ֹ�����
���٤Ƥ�Ϣ³����롼�뤬�����åפ���ޤ���
.Sh �����ͥ륪�ץ����
�����ͥ�����ե�����ǤΥ��ץ����:
IPFIREWALL - ipfirewall ��ͭ���ˤ��ޤ�
IPFIREWALL_VERBOSE - firewall �ν��Ϥ�ͭ���ˤ��ޤ�
IPFIREWALL_VERBOSE_LIMIT - firewall �ν��Ϥ��������ޤ�
DIVERT - divert(4) �����åȤ�ͭ���ˤ��ޤ�
.Pp
�ѥ��åȤ� IP_FW_F_PRN �ӥåȤ����åȤ���Ƥ���롼���Ŭ�礷��
IPFIREWALL_VERBOSE ��ͭ���ˤ���Ƥ�����ˤϥ�å��������������
���Ϥ���ޤ���
IPFIREWALL_VERBOSE_LIMIT �Ϥ��줾��Υ롼�뤬������å���������ϤǤ���
����κ����ͤ����¤��ޤ���
�������ѿ���
.Xr sysctl 3
���ե��������ͳ�������ѤǤ��ޤ���
.Sh ����
[EINVAL] IP ���ץ������Ǿ��ͤ��û���������줿���ץ����
�Хåե����Ĺ����Ŭ�ڤʷ����Ǥ�����ip_fw ��¤�Τǹ�¤Ū
�ʥ��顼��ȯ�����ޤ��� (n_src_p+n_dst_p ���硢ALL/ICMP
�ץ��ȥ���Τ���Υݡ��ȥ��åȤʤ�)�������ʥ롼���ֹ椬
�Ȥ��ޤ�����
.Sh ��Ϣ����
.Xr setsockopt 2 ,
.Xr divert 4 ,
.Xr ip 4 ,
.Xr ipfw 8 ,
.Xr sysctl 8
.Sh �Х�
``tee'' �롼��Ϥޤ���������Ƥ��ޤ��� (���ߤϸ��̤�����ޤ���)��
.Pp
���� man �ڡ����Ϥޤ���Ȥ�ɬ�פǤ���
.Sh ���
ipfw ��ǽ�Ϻǽ�� BSDI �ؤΥѥå������Ȥ���
Daniel Boulet <[email protected]>
�ˤ�äƽ�ޤ�����
Ugen J.S.Antsilevich <[email protected]>
���������ѹ�����FreeBSD �ذܿ����ޤ�����
.Pp
Archie Cobbs <[email protected]> �ˤ�äƤ����Ĥ��γ�ĥ���ä����ޤ�����