�ڹ�ȥ�����У�linux��Ϊ����ǽƽ̨��Ӧ������������������1.2���ں˵�ipfwadm��ʼ��Linux�ķ���ǽ����Ҳ�߹��˺ܳ�һ��·���ˡ���2.4���Linux�ں��У�ʹ����netfilter��ϵ�������µ�2.4���У�Linux����ǿ�˰�ȫ�ԣ����磺���õļ���֧�ֺ� netfilter��ϵ��ʹ�á�netfilter������ȫ���������ԡ�
���Ľ���iptables��������һ�����������ص����һЩiptables�����ù��ߡ����ĵ����۽�������linux�ں˵�IP����ǽ�Լ�����ֽ�������ù��ߣ����磺GUI���߽ű�(shell��Perl�����ض�����������)��ʹ����Щ�����ܹ���iptables�����ü������õĴ����� iptables��֪ʶ��ο�Rusty Russellд��Linux iptables HOWTO��
ʹ������������iptables������
ʹ��iptables�������нӿ�������iptables����ǽ��һ������˵��һ����ս���û�����ָ������IP���ĵ���Ϊ���û���Ҫ��TCP/IP ��Ӧ�ò�Э���н�����˽⡣����ǰ��ipchainsһ����iptables��IP���˹���鲢�����У�IP���ı������������ܴ������������͵�����������ܴ��������������Ĭ�ϲ���(ACCEPT��DROP��REJECT)��������Щ����Ӧ�ó��������һЩ��������״�������ǽ�������Ҫ�����������ӵĽ����ͶϿ���
���ǿ�һ��POP3Э�飬�������Э��֮һ��������������Ŀ��˿���110�ı���ͨ��ͨ����������еĹ������⣬��Ϊ����ֻ��ʹ�ͻ��������룬��������ȴ��Ӧ�����⣬���ʹ�������ַת��(NAT)��������ʽ�ı���ת����Ҳ�����������⡣��Ϊ����ǽ�����ý�Ӱ�쵽������ҵ�İ�ȫ������Ӧ���ر�С�ġ����潫��ŵ�����iptables�����ã�Ҫ��ø���ϸ����ο�linux iptables HOWTO
iptables��������ѡ��
�ڽ�����ʱ������֮ǰ�����ǿ�һ��iptables������ѡ���һ���ܽᡣ
������ά��ѡ��
1.�����µĹ�����(-N)
2.ɾ��һ���յĹ�����(-X)
3.�ı�һ�����ù������IJ���(-P)
4.�г�һ���������еĹ���(-L)
5.��дһ���������еĹ���(-F)
������
1.��һ���������м���һ���µĹ���(-A)
2.ɾ��һ����������ij��λ�õĹ���(-D)
iptables���ŵ�
�����۸���iptables���ù���֮ǰ�������ǿ�һ��iptables���ŵ㣬������netfilter��ipchains���е����ơ�
iptables��������״̬(stateful)����ǽ���������ڴ��б��洩������ǽ��ÿ�����ӡ�����ģʽ������Ч������FTP��DNS�Լ�������������DZ�Ҫ�ġ�
iptables�ܹ�����TCP��־������ϱ��ģ����ܹ�����MAC��ַ��
ϵͳ��־��ipchains���������ã���չ��Ҳ���á�
���������ַת��(Network Address Translation)����������֧�֣�netfilter��Ϊǿ�������ʹ�á�
iptable�ܹ���ֹijЩDOS����������SYS�鷺������
iptables���ù���
���ڣ����ǿ�һ��linux iptables��һЩ���ù��ߡ�����Ҫ��עÿ�����ߵ����������Ժ������ԡ����ǽ��������µĹ��ߣ�
MonMotha's Firewall 2.3.5 ���ߣ�MonMotha
Firewallscript (iptables 4.4c-3 devel) ���ߣ�Patrik Hildingsson
Ferm-0.0.18 ���ߣ�Auke Kok
AGT-0.83 ���ߣ�Andy Gilligan
Knetfilter-1.2.4 ���ߣ�Luigi Genoni
gShield-2.0.2 ���ߣ�R. Gregory
MonMotha��Firewall 2.3.5
MonMothaд��Firewall 2.3.5��һ����Լ30K��shell�ű���Ŀǰ����Ҫ�����ڻ��������ı�������ΪһЩ���������ѡ�����ڿ����С�����ű��Ľ���(���磺�� iptables��������ѡ��ķ���)�е���ҡ�������������Ҫ�����ļ����Ұ�װ���ף�ֱ�Ӹ��Ƶ��κεط������ԡ�Ĭ������£�����������ʲô��ʵ���ϸ����Ͳ�ִ�У�Ҳȱ���ĵ�������ű����ڲ����û������е��ô���
Firewallscript
Firewallscript(IFS 4.4d)Ҳ��һ��bash�ű�����Լ��85K������ű��������ڻ�������������ķ������״�����ʱ������ֱ�Ӳ���һ�������ļ�����������Ĭ������£�����ļ�����ʲô���ã�ֻ�в������á�����ű���������NAT�͵�ַαװ������ű��dz����ӣ�����ȱ���ĵ����������ܹ���ϸ�Ķ����Ĵ��룬ʹ�� iptables -L�����ĸ����Ѿ���Ч��ʲô������/�ܾ�������ű���IP�����ٹ��ܻ�����Ϊ���ṩ���֡����⣬�������Զ�̽�⡢����iptables��Ҫ���ں�ģ�顣����ű�����һ���ű�������ȡ��(undo)���ܣ��ܹ��ָ�iptablesԭ���������ļ���
Ferm
Ferm��һ��Perl�ű���ʹ��һ����C����д�ɵ������ļ����������Էdz������Ķ������⡣����ű��кܺõ��ĵ��ͷḻ��ʾ����Ϊ�ο���
����һ�����ӣ�
-----------------------------------------------------------------------------
# simple workstation example for ferm
chain input {
if ppp0 # put your outside interface here
{
proto tcp goto fw_tcp;
proto udp goto fw_udp;
proto icmp goto fw_icmp;
}
}
chain fw_tcp proto tcp {
dport ssh ACCEPT;
syn DENY log;
dport domain ACCEPT;
dport 0:1023 DENY log;
}
chain fw_udp proto udp {
DENY log;
}
chain fw_icmp proto icmp {
icmptype (
destination-unreachable time-exceeded
) ACCEPT;
DENY log;
}
-----------------------------------------------------------------------------
��������ļ���ʹferm����iptables���¹������������ssh��DNS����ͨ�����������е�UDP���ģ�ֻ�����������͵�ICMP��Ϣͨ����Ŀ�IJ��ɴ�ͳ�ʱ�������ܾ�����־�������͵�ICMP��Ϣ��
AGT
AGT��һ��ʹ��C���Ա�д�ij������Ĵ���������Ŀǰ�����ڿ����Ρ���֧��automake����Ҫ�ֹ��༭Makefile�ļ����ĵ�Ҳ���Ǻܷḻ�������������ļ��dz����������һ�������ļ���
NEW | FROM-INT
NEW | RESET
|| FROM-INT | icmp | ACCEPT |||||
|| FROM-INT | tcp | ACCEPT ||||| pop3
|| FROM-INT | tcp | ACCEPT ||||| imap
|| RESET | tcp | REJECT --reject-with tcp-reset |||||
�������ļ���ʽ������ȱ����Ҫ���ĵ�����ʹ������˵��һ���ܴ����ս��������öЩʱ��ѧѧiptables��
knetfilter
knetfilter��һ���dz�����ͼ�λ�iptables���ù��ߣ����ǻ���KDE��(��KDE1��KDE2�����汾)��knetfilter�dz��������֣�����Ժ�����ʹ���������û������������Ĺ�������б�������ͻָ�����Щ��������б������Թ�������б�(��ͬһ����������� tcpdump������̽��)����һ��ֻҪ�㼸�����Ϳ����ˡ���Ҳ֧��NAT�������ַαװ�����á����ǣ����ڲ��Ź���վ��knetfilter�����IJ�̫�ã���Ϊ����Ҫ����IP������ֻ̽��eth0����ӿڣ�������PPP̽�⡣������̵��ĵ�Ҳ���٣�������Ϊ�ǻ���ͼ�ν��棬���Լ�ʹ�����ֲ�Ҳ���Ժܺõ�ʹ�á�
gShield
gShield��һ��bash shell�ű��������ǵ�ǰ������һ�����ߡ������ĵ��dz��ḻ�������ļ�Ҳ�ȽϺ���ֱ�ۣ����ܹ�����NAT���������ܹ�����̬IP��ַ�����ܹ�������̬IP��ַ(���磺PPP)��
gShield����ͼ�ν��棬Ŀǰ��Ȼ�������ڿ����Σ����Դ�http://members.home.com/vhodges/gshieldconf.html���ء����������ƺ�ֻ����gShield�����ڰ汾(1.x)��
������һ��ʾ�������ļ���
FW_ROOT="/etc/firewall"
IPTABLES=`which iptables`
LOCALIF="eth0"
DNS="24.31.195.65"
LTIME="20/m"
ALLOW_DHCP_LEASES="YES"
...
gShieldʹ�õ�Ĭ�����÷dz���ȫ���ر��ʺϲ�Ը���Ū�����ļ����û������������ı��߽����û�����ܹ�ͨ�����������ļ�����README�ļ�����gShieldʵ����"��tcpwrapper���ķ�����ʿ��ƹ���"��ʹ����������û����Ժ���������/����ij��������ؿ��DZ��ķ���֮������⣬ֻҪ����ʲô�ͻ����ӵ��������Ϳ����ˡ�
����
��Ȼ���Ľ�����һЩ����ǽ���ù��ߣ�����ʵ����Ŀǰ��û����������ù��ߡ���õ����ù�����iptables���������ܵ���Щ���ߣ�ֻ�����ڶ���ʹ��iptables�����ио����ѵ��û���