Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: iptables как правильней ?  (Прочитано 2575 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: iptables как правильней ?
« Ответ #15 : 12 Мая 2010, 13:43:45 »
если инет нужен только определенным ip? допустим 192.168.0.2 и 192.168.0.4, и не давать интернет 192.168.0.3
Можно загеммороиться с ipset, но имхо проще будет так:

iptables -A FORWARD -m conntrack --ctstate NEW -s 192.168.0.2 ! -i eth0 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate NEW -s 192.168.0.4 ! -i eth0 -j ACCEPT

а еще, при моих правилах, открыты все порты, почему непойму. например при таких правилах: ася, дц++ работают.
понимаю что кривые правила, но где ошибка не вижу
А я не вижу, чтоб они в транзите вообще были закрыты.

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: iptables как правильней ?
« Ответ #16 : 12 Мая 2010, 13:48:38 »
Спасибо

Цитировать
А я не вижу, чтоб они в транзите вообще были закрыты.
туплю, с этим понятно
у меня можно спросить=)

Оффлайн xionod

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: iptables как правильней ?
« Ответ #17 : 12 Мая 2010, 14:03:59 »
маскарадинг не следует считать предпочтительным в этом случае, поскольку он дает большую нагрузку на систему....
Ага, везде говорят, да не знают отчего так. Нигде не обосновывается, из за чего нагрузка ощутимо возрастает. Объяснения типа того, что приходится каждый раз брать адрес интерфейса, не принимаются к рассмотрению. Это не может давать существенной нагрузки.

Кто может дать грамотное обоснование этого утверждения?

не существенную, а бОльшую нагрузку, так-как MASQUERADE частный случай SNAT

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: iptables как правильней ?
« Ответ #18 : 12 Мая 2010, 14:25:48 »
не существенную, а бОльшую нагрузку, так-как MASQUERADE частный случай SNAT
Ясен перец. Но тогда несущественная нагрузка не может являться определяющим критерием к выбору метода реализации трансляции, и то, что там написано является профанацией и критерии нужно использовать другие для аргументации выбора метода SNAT или MASQUERADE.

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: iptables как правильней ?
« Ответ #19 : 19 Мая 2010, 10:41:49 »
а как сделать привязку ip & mac ?

iptables -I FORWARD 1 -d 192.168.0.3 -j ACCEPT
iptables -A FORWARD -s 192.168.0.3 -j ACCEPT
iptables -A FORWARD -d 192.168.0.5 -i eth1 -o eth0 -m mac --mac-source 00:80:48:14:f5:28 -j LOG --log-prefix "mac123"
iptables -A FORWARD -d 192.168.0.5 -i eth1 -o eth0 -m mac --mac-source 00:80:48:14:f5:28 -j ACCEPT
iptables -A FORWARD -s 192.168.0.5 -i eth1 -o eth0 -m mac --mac-source 00:80:48:14:f5:28 -j ACCEPT
iptables -A FORWARD -j LOG --log-prefix "drop123"

iptables -A FORWARD -o eth0 -p tcp -j DROP
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

echo 1> /proc/sys/net/ipv4/ip_forward
интернет есть у 192.168.0.3, и нету у 192.168.0.5

Цитата: cat /var/log/messages | grep drop123
May 19 09:30:02 ubuntu kernel: [62477.730920] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=205.188.251.43 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=3805 DF PROTO=TCP SPT=1733 DPT=5190 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:30:03 ubuntu kernel: [62478.535594] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=64.12.30.44 LEN=46 TOS=0x00 PREC=0x00 TTL=127 ID=3806 DF PROTO=TCP SPT=1658 DPT=5190 WINDOW=65466 RES=0x00 ACK PSH FIN URGP=0
May 19 09:30:15 ubuntu kernel: [62490.825335] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=205.188.251.43 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=3807 DF PROTO=TCP SPT=1734 DPT=5190 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:30:18 ubuntu kernel: [62493.823527] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=205.188.251.43 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=3808 DF PROTO=TCP SPT=1734 DPT=5190 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:30:19 ubuntu kernel: [62494.527654] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=64.12.30.44 LEN=46 TOS=0x00 PREC=0x00 TTL=127 ID=3809 DF PROTO=TCP SPT=1658 DPT=5190 WINDOW=65466 RES=0x00 ACK PSH FIN URGP=0
May 19 09:30:24 ubuntu kernel: [62499.757667] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=205.188.251.43 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=3812 DF PROTO=TCP SPT=1734 DPT=5190 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:31:15 ubuntu kernel: [62550.857454] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=64.12.202.116 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=3815 DF PROTO=TCP SPT=1735 DPT=5190 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:31:18 ubuntu kernel: [62553.869193] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=64.12.202.116 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=3816 DF PROTO=TCP SPT=1735 DPT=5190 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:31:24 ubuntu kernel: [62559.903928] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=64.12.202.116 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=3820 DF PROTO=TCP SPT=1735 DPT=5190 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:53:15 ubuntu kernel: [63870.761953] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=64.12.202.116 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=9866 DF PROTO=TCP SPT=1976 DPT=5190 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:53:18 ubuntu kernel: [63873.767635] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=64.12.202.116 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=9867 DF PROTO=TCP SPT=1976 DPT=5190 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:53:21 ubuntu kernel: [63876.732073] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=213.95.41.13 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=9868 DF PROTO=TCP SPT=1977 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:53:24 ubuntu kernel: [63879.701769] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=213.95.41.13 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=9869 DF PROTO=TCP SPT=1977 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:53:24 ubuntu kernel: [63879.802308] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=64.12.202.116 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=9870 DF PROTO=TCP SPT=1976 DPT=5190 WINDOW=65535 RES=0x00 SYN URGP=0
May 19 09:53:30 ubuntu kernel: [63885.635890] drop123IN=eth0 OUT=eth1 SRC=192.168.0.5 DST=213.95.41.13 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=9871 DF PROTO=TCP SPT=1977 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
что тут не так

Пользователь решил продолжить мысль 20 Мая 2010, 09:01:36:
iptables -I FORWARD 1 -d 192.168.0.3 -j ACCEPT
iptables -I FORWARD 1 -s 192.168.0.3 -j ACCEPT

iptables -I FORWARD 1 -d 192.168.0.5 -m mac --mac-source 00:80:48:14:f5:28 -j ACCEPT
iptables -I FORWARD 1 -s 192.168.0.5 -m mac --mac-source 00:80:48:14:f5:28 -j ACCEPT

Цитата: iptables -L FORWARD -nv --line-numbers
1        0     0 ACCEPT     all  --  *      *       0.0.0.0/0            192.168.0.31        MAC 00:80:48:14:F5:28
2       29  1392 ACCEPT     all  --  *      *       192.168.0.31         0.0.0.0/0           MAC 00:80:48:14:F5:28
3     7007 7069K ACCEPT     all  --  *      *       0.0.0.0/0            192.168.0.30
4     5663  838K ACCEPT     all  --  *      *       192.168.0.30         0.0.0.0/0
5     1523 72352 DROP       tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0
непойму почему

iptables -I FORWARD 1 -i eth0 -s 192.168.0.5 -o eth1 -d ! 192.168.0.0/24 -j ACCEPT
Цитировать
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
« Последнее редактирование: 20 Мая 2010, 09:01:37 от kostrukov »
у меня можно спросить=)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: iptables как правильней ?
« Ответ #20 : 22 Мая 2010, 03:33:20 »
Вобщем-то ерунда получается, что в первом что и во втором варианте. Не учитываешь направления. Делай всё так, как я выше писал, только добавляй дополнительно в правило проверку по mac.

непойму почему

iptables -I FORWARD 1 -i eth0 -s 192.168.0.5 -o eth1 -d ! 192.168.0.0/24 -j ACCEPT
Цитировать
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).

Синтаксис такой устаревший и говорится, что в новых версиях нужно юзать так:
iptables -I FORWARD 1 -i eth0 -s 192.168.0.5 -o eth1 ! -d 192.168.0.0/24 -j ACCEPT

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: iptables как правильней ?
« Ответ #21 : 27 Мая 2010, 15:54:33 »
комп1 -> модем pppoe -> инетрент -> adsl роутер (name.dyndns.org) -> комп2(шлюз) -> свич -> комп3

с дсл роутера проброшен 22 порт на шлюз
задача:
- с комп1 увидеть рабочий стол комп3

что для этого нужно, и как лучше?

я так понимаю:
с комп1 до комп2 создать тунель
пробросить порт с комп2(ip адрес комп1?) на комп3 порт 3389 ?

натолкните на разумные мысли =)
как это лучше реализовать, достаточно теории, с практикой разбирусь )
у меня можно спросить=)

Гарри Кашпировский

  • Гость
Re: iptables как правильней ?
« Ответ #22 : 27 Мая 2010, 16:05:39 »
В такой конструкции ADSL-роутер - лишний. Или пробрасывай порт и на шлюзе.

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: iptables как правильней ?
« Ответ #23 : 27 Мая 2010, 16:09:45 »
какже лишний, онже инет дает компу2 и 3))

т.е. так не получится?
Цитировать
с комп1 до комп2 создать тунель ( ssh )
пробросить порт с комп2(шлюз)(ip адрес комп1?) на комп3 порт 3389 ?
« Последнее редактирование: 27 Мая 2010, 16:20:59 от kostrukov »
у меня можно спросить=)

Гарри Кашпировский

  • Гость
Re: iptables как правильней ?
« Ответ #24 : 27 Мая 2010, 16:14:54 »
В обозначенной тобой схеме, ADSL-роутер никак не дает инет компу 1 и 2, а дает инет компу 2 и 3. :coolsmiley:

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: iptables как правильней ?
« Ответ #25 : 27 Мая 2010, 16:20:15 »
все верно, это я опечатался,
но дсл роутер то нелишний=)

а если делать так
ssh -N -g -R 3389:localhost:3389 user@name.dyndns.org
?

Цитировать
Или пробрасывай порт и на шлюзе
ну так я и хочу это сделать
Цитировать
пробросить порт с комп2(шлюз)(ip адрес комп1?) на комп3 порт 3389 ?
или я не так понимаю  :-[
у меня можно спросить=)

Гарри Кашпировский

  • Гость
Re: iptables как правильней ?
« Ответ #26 : 27 Мая 2010, 16:48:01 »
Так и делай. У тебя в роутере уже есть проброс порта на шлюз-сервер, и при коннекте на ssh user@name.dyndns.org -p port и ты аккурат соединяешься с сервером?
Для прокидывания порта на комп в сети тебе с ADSL-роутером стоит проделать тот же финт + сделать пробос на шлюзе iptables -t nat -A PREROUTING бла-бла, иначе говоря
клиент - 3389:adsl - 22:шлюз
клиент - 3390:adsl - 3390:шлюз - 22:пк
Но в такой схеме еще один проброс - лишний гемор, тем более шлюз на линуксе у тебя и так шлюз, так какая разница будет, если он сам сможет поднимать инет или получать его от мыльницы? Поэтому я сразу сказал - для уменьшения геморопередачи, ADSL-роутер стоит заставить работать модемом. И туннели нафиг не нужны.
Впрочем, это я так вижу и понимаю, если у камрадов найдутся другие предложения это только приветствуется :)

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: iptables как правильней ?
« Ответ #27 : 27 Мая 2010, 16:54:44 »
Цитировать
Так и делай. У тебя в роутере уже есть проброс порта на шлюз-сервер, и при коннекте на ssh user@name.dyndns.org -p port и ты аккурат соединяешься с сервером?
ага
Цитировать
Для прокидывания порта на комп в сети тебе с ADSL-роутером стоит проделать тот же финт + сделать пробос на шлюзе iptables -t nat -A PREROUTING бла-бла, иначе говоря
клиент - 3389:adsl - 22:шлюз
клиент - 3390:adsl - 3390:шлюз - 22:пк
ага

Цитировать
Но в такой схеме еще один проброс - лишний гемор, тем более шлюз на линуксе у тебя и так шлюз, так какая разница будет, если он сам сможет поднимать инет или получать его от мыльницы? Поэтому я сразу сказал - для уменьшения геморопередачи, ADSL-роутер стоит заставить работать модемом. И туннели нафиг не нужны.
не, пускай дслроутер остаеца роутером, один проброс неутянет =)
у меня можно спросить=)

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: iptables как правильней ?
« Ответ #28 : 17 Июня 2010, 13:28:47 »
адсл роутер - 192.168.2.1
шлюз 192.168.0.1 и 192.168.2.3

в адсл роутере:
22 проброшен порт на шлюз  - для ссш доступа к шлюзу
3389 проброшен на шлюз - рдп для машин в локальной сети

на шлюзе пробрасываю 3389 порт на машинку в локалке (192.168.0.3)

sudo iptables -t nat -A PREROUTING -p tcp -d 192.168.0.1 --dport 3389 -j DNAT --to-destination 192.168.0.3:3389
sudo iptables -A FORWARD -d 192.168.0.3 -p tcp --dport 3389 -j ACCEPT

все ли тут верно?

Пользователь решил продолжить мысль 17 Июня 2010, 21:45:51:
разобрался я,

сделал так:
в адсл роутере пробросил порт 3389 на шоюз

и создал тунель
ssh -2 -N -C -L 3389:192.168.0.3:3389 username@name.dyndns.org

а далее рдесктоп на локалхост
« Последнее редактирование: 17 Июня 2010, 21:45:51 от kostrukov »
у меня можно спросить=)

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: iptables как правильней ?
« Ответ #29 : 25 Июня 2010, 10:57:38 »
проясните пожалусто, как можно сделать:
1- закрыть доступ в интернет для шлюза, т.е. только Forward
2- пропуск пакетов в локальную сеть только в ответ на установленное соединение из локальной сети, из локальной сети без ограничения,
это вродебы так
$IPTABLES -A FORWARD -i eth0 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

но как при этом открыть доступ из вне к ssh и rdp, если будет стоять пропуск из вне только для установленных соединений?
или туплю, ведь локальное соединение с роутером установлено.
3- возможно ли както установить лимит по скорости / трафику, для определенного клиента? впринципе выкинул бы его на проксю, но со скайпом не разберусь не как

п.с.
роутер 192.168.2.1
шлюз 192.168.2.3  eth1
шлюз 192.168.0.1  eth0
сеть 192.168.0.n
у меня можно спросить=)

 

Страница сгенерирована за 0.032 секунд. Запросов: 23.