Здравствуйте. Линукс начал осваивать недавно, а сетевое администрирование буквально на днях, поэтому возник небольшой вопрос. Опишу ситуацию. Имееться машина с двумя сетевыми картами и дебианом на борту, которая получает интернет по дхцп от ADSL модема в режиме роутера. Второй же интерфейс смотрит через свитч в локальную сеть из порядка 20 компьютеров, 2 из которых(помимо машинки с дебианом) мои. Я раздал интернет задав правило
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE,
и введя на своих 2 компьютерах в качестве шлюза и днс адрес компьютера с дебианом. Меня интерисует вопрос - каким образом защитить свой интернет от пользователей локалки? Ведь введя теже данные в свойства сетевой они смогут пользоваться моим интернетом.
Решено: Ограничить доступ к интернету (Как раздать интернет, но не всем?)
Модераторы: SLEDopit, Модераторы разделов
-
BSDevil
- Сообщения: 112
- ОС: MAC OS X
Re: Решено: Ограничить доступ к интернету
Код: Выделить всё
#!/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: Решено: Ограничить доступ к интернету
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: Решено: Ограничить доступ к интернету
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: Решено: Ограничить доступ к интернету
Diman писал(а): ↑06.04.2009 10:23danger08 писал(а): ↑06.04.2009 07:06Для всех остальных доступ запрещен.
Код: Выделить всё
iptables -A FORWARD -o eth1 -j DROP
вероятно стоит написать так:
iptables -P FORWARD -o eth1 -j DROP
Да, так выглядит логичнее и красивее (результат тот же).
Аналогично.
Вообще, на случай если у него redhat-based, то лучше все написать в /etc/sysconfig/iptables.
Блогосайт - http://www.fateyev.com
-
nexusreglog
- Сообщения: 6
Re: Решено: Ограничить доступ к интернету
Спасибо за помощь, все настроил.