Решено: Ограничить доступ к интернету (Как раздать интернет, но не всем?)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

nexusreglog
Сообщения: 6

Решено: Ограничить доступ к интернету

Сообщение nexusreglog »

Здравствуйте. Линукс начал осваивать недавно, а сетевое администрирование буквально на днях, поэтому возник небольшой вопрос. Опишу ситуацию. Имееться машина с двумя сетевыми картами и дебианом на борту, которая получает интернет по дхцп от ADSL модема в режиме роутера. Второй же интерфейс смотрит через свитч в локальную сеть из порядка 20 компьютеров, 2 из которых(помимо машинки с дебианом) мои. Я раздал интернет задав правило
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE,
и введя на своих 2 компьютерах в качестве шлюза и днс адрес компьютера с дебианом. Меня интерисует вопрос - каким образом защитить свой интернет от пользователей локалки? Ведь введя теже данные в свойства сетевой они смогут пользоваться моим интернетом.
Спасибо сказали:
Аватара пользователя
BSDevil
Сообщения: 112
ОС: MAC OS X

Re: Решено: Ограничить доступ к интернету

Сообщение BSDevil »

Код: Выделить всё

#!/bin/sh

export LAN=eth0
export WAN=ppp0
export NAT=ath0

echo 1 >/proc/sys/net/ipv4/ip_forward

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

iptables -t nat -A POSTROUTING -o ${NAT} -j MASQUERADE
iptables -t nat -I POSTROUTING -o ${WAN} -j MASQUERADE
iptables -t nat -I POSTROUTING -o ${LAN} -j MASQUERADE
Изображение
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Решено: Ограничить доступ к интернету

Сообщение danger08 »

nexusreglog писал(а):
06.04.2009 01:42
Я раздал интернет задав правило
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE,
и введя на своих 2 компьютерах в качестве шлюза и днс адрес компьютера с дебианом. Меня интерисует вопрос - каким образом защитить свой интернет от пользователей локалки? Ведь введя теже данные в свойства сетевой они смогут пользоваться моим интернетом.

Фильтровать соединения от пользователей локальной сети, идущие наружу.
Т.е. определенные машины локальной сети (с определенным IP, МАС-ом) пропускать, а все остальные рубить.

Делается это правилами FORWARD в цепочке filter у iptables, например так:
Разрешаем установленные соединения, или соединения инициированные из уже установленных:

Код: Выделить всё

 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Разрешаем выход наружу для машин локальной сети 192.168.0.2, 192.168.0.3

Код: Выделить всё

 iptables -A FORWARD -s 192.168.0.2 -o eth1 -j ACCEPT
 iptables -A FORWARD -s 192.168.0.3 -o eth1 -j ACCEPT

Для всех остальных доступ запрещен.

Код: Выделить всё

 iptables -A FORWARD -o eth1 -j DROP
Блогосайт - http://www.fateyev.com
Спасибо сказали:
KDimanB
Сообщения: 143
ОС: Debian (squeeze), Slax LiveCD

Re: Решено: Ограничить доступ к интернету

Сообщение KDimanB »

danger08 писал(а):
06.04.2009 07:06
Для всех остальных доступ запрещен.

Код: Выделить всё

 iptables -A FORWARD -o eth1 -j DROP

Я может быть не прав, но вероятно стоит написать так:
iptables -P FORWARD -o eth1 -j DROP
или вообще так:
iptables -P FORWARD -j DROP
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Решено: Ограничить доступ к интернету

Сообщение danger08 »

Diman писал(а):
06.04.2009 10:23
danger08 писал(а):
06.04.2009 07:06
Для всех остальных доступ запрещен.

Код: Выделить всё

 iptables -A FORWARD -o eth1 -j DROP

вероятно стоит написать так:
iptables -P FORWARD -o eth1 -j DROP

Да, так выглядит логичнее и красивее (результат тот же).
Diman писал(а):
06.04.2009 10:23
или вообще так:
iptables -P FORWARD -j DROP

Аналогично.
Вообще, на случай если у него redhat-based, то лучше все написать в /etc/sysconfig/iptables.
Блогосайт - http://www.fateyev.com
Спасибо сказали:
nexusreglog
Сообщения: 6

Re: Решено: Ограничить доступ к интернету

Сообщение nexusreglog »

Спасибо за помощь, все настроил.
Спасибо сказали: