[Comm] Re: [Comm] Настройка интерента в локальной сети

Aleksandr Blokhin =?iso-8859-1?q?sass_=CE=C1_uustoll=2Eee?=
Пт Фев 14 23:35:13 MSK 2003


On Fri, 14 Feb 2003 22:53:16 +0300
Oparin Alexey <alex на oparin.ru> wrote:


OA> Вчера поставил первый раз в жизни Линукс  - это был ALT Linux
OA> 2.2.  У меня в компьютере 2 сетевые карточки. Одна смотрит в
OA> интернет, другая - Локальная сеть. Мне нужно настроить выход
OA> в интернет для локальной сети.  Подскажите пожалуйта
OA> ПОДРОБНО, как можно это сделать???   Огромное спасибо за
OA> ответы!

$ chkconfig --level 345 ipchains on
$ service ipchains start

Затем выполняете следующий сценарий:

<-------------------------- CUT HERE ----------------------------->
#!/bin/sh
#
# firewall-masq         This script sets up firewall rules for a machine
#                       acting as a masquerading gateway
#
# Copyright (C) 2000 Roaring Penguin Software Inc.  This software may
# be distributed under the terms of the GNU General Public License, version
# 2 or any later version.
#
# installing MASQUERADE modules
#
insmod ip_masq_user
insmod ip_masq_ftp
insmod ip_masq_irc
insmod ip_masq_icq
insmod ip_masq_raudio
insmod ip_masq_vdolive
insmod ip_masq_quake
insmod ip_masq_portfw
#
# Interface to Internet
EXTIF=ppp+

ANY=0.0.0.0/0

ipchains -P input ACCEPT
ipchains -P output ACCEPT
ipchains -P forward DENY

ipchains -F forward
ipchains -F input
ipchains -F output

# Deny TCP and UDP packets to privileged ports
ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY
ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY

# Do masquerading
ipchains -A forward -j MASQ
echo 1 > /proc/sys/net/ipv4/ip_forward

<-------------------------- CUT HERE ----------------------------->

После того, как сценарий отработает, выполните команду
$ service ipchains save

Это был один вариант.

Вот второй.

$ chkconfig --level 345 iptables on
$ service iptables start

Затем выполняете следующий сценарий:

<-------------------------- CUT HERE ----------------------------->

#!/bin/sh
#
# firewall-masq-iptables        This script sets up firewall rules for a machine
#                               acting as a masquerading gateway
#
#                               Этот скрипт устанавливает правила фильтации пакетов
#                               для машины выступающей в роли маршрутизатора
#
# Copyright (C) 2002 ALT Linux Team.  This software may be distributed under the terms
# of the GNU General Public License, version 2 or any later version.
#
# installing MASQUERADE modules
#
insmod ip_tables
insmod ip_conntrack
insmod ip_conntrack_ftp
insmod iptable_nat
insmod ip_nat_ftp
insmod ipt_multiport
insmod ip_masq_ftp
#
# Interface to Internet

EXTIF=ppp+

ANY=0.0.0.0/0

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

# Syn-flood protection.
# Защита от Syn-flood.
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

# Furtive port scanner.
# Защита от скрытого сканирования портов.
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

# Ping of death.
# Защита от Ping of death.
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# Deny NEW end INVALID incoming or required routings packets from ppp0.
# Запрещаем NEW и INVALID входящие или требующие маршрутизации пакеты с ppp0.
iptables -A INPUT -i $EXTIF -m state --state NEW,INVALID -j DROP
iptables -A FORWARD -i $EXTIF -m state --state NEW,INVALID -j DROP

# Allow a packets which is related to, and part of an existing connection.
# Разрешаем пакеты принадлежащие и относящиеся к уже установленному соединению.
iptables -N block
iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A block -m state --state NEW -i ! $EXTIF -j ACCEPT
iptables -A block -j DROP

iptables -A INPUT -j block
iptables -A FORWARD -j block

# Do masquerading.
# Маскарадим ppp0.
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

# Включаем маршрутизацию пакетов.
echo 1 > /proc/sys/net/ipv4/ip_forward

<-------------------------- CUT HERE ----------------------------->

После того, как сценарий отработает, выполните команду
$ service iptables save

После перезагрузки правила будут применены автоматически.

--
Best regards
AB
--
                  ... In nomine Altli, et Ctrli, et Spititus Deli, Reset!




Подробная информация о списке рассылки community