Автор Гілка: IPTABLES  (Прочитано 2063 раз)

Відсутній TARAS_LV

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
IPTABLES
« : 2013-02-01 11:45:00 »
Привіт всім.
Допоможіть в такій справі.
1. Як зробити щоб вся сітка мала доступ повний до mail.gmail.com  по всіх портах
2. І як зробити, щоб певний користувач чи по (ІР) мав повний до інтернету.
Читав багато нічого мені не виходило.

Відсутній kisil

  • Графоман
  • ****
  • дописів: 353
  • Карма: +0/-0
  • Toruble in Windows reboot, toruble in Unix be root
    • About me
Re: IPTABLES
« Відповідей #1 : 2013-02-04 10:53:03 »
Розкажіть, що у вас за технологія підключення до інтернету. Як огранізоване його роздавання для локалки. Покажіть вивід  ifconfig.
Після цього спробуємо допомогти.

Відсутній TARAS_LV

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
Re: IPTABLES
« Відповідей #2 : 2013-02-04 11:29:57 »
eth0      Link encap:Ethernet  HWaddr 20:cf:30:8e:44:47
          inet addr:ххххххххх  Bcast:хххххххх  Mask:255.255.255.0
          inet6 addr: fe80::22cf:30ff:fe8e:4447/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7559 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1359 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1576655 (1.5 MiB)  TX bytes:197551 (192.9 KiB)
          Interrupt:42 Base address:0xc000

eth1      Link encap:Ethernet  HWaddr 00:24:01:08:cd:ea
          inet addr:192.168.1.52  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::224:1ff:fe08:cdea/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:166845 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8117 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14048460 (13.3 MiB)  TX bytes:3277045 (3.1 MiB)
          Interrupt:23 Base address:0xe800

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

 Eth0 -  це інет
 Eth1 - Локалка
 Нет буде роздаватися через сквід3
 Підключення до інтернету йде через LAN провайдера.
« Змінено: 2013-02-04 18:39:59 від TARAS_LV »

Відсутній anatolijd

  • Графоман
  • ****
  • дописів: 325
  • Карма: +0/-0
Re: IPTABLES
« Відповідей #3 : 2013-02-05 14:18:17 »
gmail.com використовує шифрування і для доступу через веб-інретфейс і для зєднання з мейл-сервером.

Якщо ви використовуватимете squid як transparent proxy.
Це буде прозоро для користувачів, ви легко керуватимете http-трафіком через acl, але ви не зможете контролювати https через squid acl.
(Це технічно можливо, але не дуже просто налашувати і, крім того, бровзери постійно сваритимуться на main-in-the-middle attack).
Відповідно, трафік по 443 порту доведеться пускати через iptables в обхід squid, і правила (кому які адреси дозволено а кому ні) треба буде створювати в iptables.

Якщо ви налаштуєте squid як звичайний проксі.
То ви зможете гнучко керувати доступом до http і https з єдиного місця (в squid.conf),
але для цього вам доведеться явно вказувати проксі в налаштуваннях бровзера.

Правила для FTP, торентів та інших сервісів в будь-якому випадку доведеться конфігурувати в iptables незалежно від squid.


Спробуйте спочатку обійтись без squid.
намалюйте собі схему, і напишіть правила для iptables, і добийтесь щоб це запрацювало.
Після цього вам буде легше зрозуміти як і куди в цю робочу схему втиснути squid.

Відсутній kisil

  • Графоман
  • ****
  • дописів: 353
  • Карма: +0/-0
  • Toruble in Windows reboot, toruble in Unix be root
    • About me
Re: IPTABLES
« Відповідей #4 : 2013-02-08 15:13:00 »
Ось вам найпростіший скрипт
IPT="/sbin/iptables"
LAN="192.168.1.0/24"
INET_IP="айпішка від прова, якщо статична"
#Політики по замовчуванню
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
# Дозвіл проходження трафіку по інтерфейсу зворотньої петлі
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# Відкидаєм пакети, статус яких невизначений
$IPT -A INPUT   -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP
# Приймаємо пакети, які мають флаг  ESTABLISHED.
$IPT -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#Дозволяємо доступ до нашого сервера з локалки.
$IPT -A INPUT -p tcp -i eth1 -s $LAN -j ACCEPT
$IPT -A INPUT -p udp -i eth1 -s $LAN -j ACCEPT
$IPT -A INPUT -p icmp -i eth1 -s $LAN -j ACCEPT
########## NAT Цим самим ми маскуємо за айпі з якого отримуємо інтернет всю локалку
#Якщо статична
$IPT -t nat -A POSTROUTING -o eth0 -j SNAT --to-source $INET_IP
#Якщо динамічна то
$IPT -t nat -A POSTROUTING -s $LAN -o eth0 -j MASQUERADE
#Дозволяємо проходження трафіку між інтерфейсами
$IPT -A FORWARD -s $LAN -o eth0 -j ACCEPT
Це найпростіші правила і всі матимуть можливість виходу в інтернет без обмежень.
Також необхідно дозволили пересилку пакетів між інтерфейсами в ядрі
echo 1 > /proc/sys/net/ipv4/ip-forward
Якщо коротко то ось так.
« Змінено: 2013-02-08 15:14:08 від kisil »