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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: HOWTO: Iptables для новичков  (Прочитано 530341 раз)

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

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #315 : 16 Апреля 2009, 16:38:37 »
Народ помогите!!! В общем ситуация такая:
eth0 - интернет (по dhcp)
eth1 - локалка 10.10.10.0-255
ppp0 - vpn 10.249.5.0-255
НА сервере ubuntu8.10  поднят DHCP (eth1=10.10.10.1 раздает 10,10,10,5-254) и VPN (10.10.10.1, раздает 10,249,5,5-254 с выходом в инет)
Если на клиентской машине статически прописать адрес шлюза, моего eth1 (10.10.10.1) то он выбивает сервак...и у других клиентов тут же пропадает инет.
Какую команду нужно прописать чтобы заблокировать подмену ip моего интерфейса (ну типа чтобы этому компу вышла надпись что ip уже присвоен, как обычно ето бывает в Windowsких машинах)?

ps: я в этом деле новичок, все настраивал по мануалкам с нета, а вот про подмену ничего не нарыл. 
Коммутаторы в сети какие используются?
для решения вашей проблемы нужны управляемые железяки.

Оффлайн zaslanec_13

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #316 : 16 Апреля 2009, 17:05:34 »
Народ помогите!!! В общем ситуация такая:
eth0 - интернет (по dhcp)
eth1 - локалка 10.10.10.0-255
ppp0 - vpn 10.249.5.0-255
НА сервере ubuntu8.10  поднят DHCP (eth1=10.10.10.1 раздает 10,10,10,5-254) и VPN (10.10.10.1, раздает 10,249,5,5-254 с выходом в инет)
Если на клиентской машине статически прописать адрес шлюза, моего eth1 (10.10.10.1) то он выбивает сервак...и у других клиентов тут же пропадает инет.
Какую команду нужно прописать чтобы заблокировать подмену ip моего интерфейса (ну типа чтобы этому компу вышла надпись что ip уже присвоен, как обычно ето бывает в Windowsких машинах)?

ps: я в этом деле новичок, все настраивал по мануалкам с нета, а вот про подмену ничего не нарыл. 
Коммутаторы в сети какие используются?
для решения вашей проблемы нужны управляемые железяки.


Обычные свитчи.
Не думаю, что можно реализовать ето только управляемыми свитчами...в Windowsких машинах данная функция включена (нет возможности присвоить ip если он используется на другой Windowsкой машине,даже в отсутсвии управляемых свитчей)
Вопрос как!?   :(

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #317 : 16 Апреля 2009, 20:01:45 »
А клиенты Windows или Linux?
Только что проверил на винде, прописываю ip, который уже есть (на Linuxовом сервере). Он присваивается (!) после чего появляются предупреждения о конфликте. Так что это защита только от случайного присвоения, кому надо - сделают

Оффлайн zaslanec_13

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #318 : 17 Апреля 2009, 09:22:46 »
А клиенты Windows или Linux?
Только что проверил на винде, прописываю ip, который уже есть (на Linuxовом сервере). Он присваивается (!) после чего появляются предупреждения о конфликте. Так что это защита только от случайного присвоения, кому надо - сделают

клиенты Windows.
Так мне хотя бы сделать от случайного...Чтобы при смене ip другие клиенты в сети не страдали.

Можешь выслать команду(ы) для защиты от случайного присваивания? :)

Оффлайн silent_lab

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #319 : 17 Апреля 2009, 10:33:51 »
 подскажите что может не так быть в iptables
структуры сети
adsl modem (ppoe)--->eth1---->squid+iptables+lawp+samba----->eth0------>локалная сеть
eth1 -->192.168.0.2
eth0--->192.168.1.1
хочется полностью защитьтся от атак с интернета
какя понял надо запретить все входящее или нет ! вот пример как у меня сейчас все сделано

Цитировать
#!/bin/bash
# Включаем IP форвардинг
echo "1" > /proc/sys/net/ipv4/ip_forward
# Защита от Syn flood атаки
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
IPT="/sbin/iptables"
LO_INTERFACE="lo"
WAN_INTERFACE="eth1"
NAT_INTERFACE="eth0"
# чистим все правила
$IPT -t filter -F
$IPT -t filter -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
# защита от скрытого сканирования портов
$IPT -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST  RST  -m limit --limit 15/minute -j ACCEPT
# защита от атак с неправильными пакетами
$IPT -A INPUT -p tcp --tcp-flags ALL       FIN,URG,PSH           -j DROP
$IPT -A INPUT -p tcp --tcp-flags ALL       ALL                   -j DROP
$IPT -A INPUT -p tcp --tcp-flags ALL       SYN,RST,ACK,FIN,URG   -j DROP
$IPT -A INPUT -p tcp --tcp-flags ALL       NONE                  -j DROP
$IPT -A INPUT -p tcp --tcp-flags SYN,RST   SYN,RST               -j DROP
$IPT -A INPUT -p tcp --tcp-flags SYN,FIN   SYN,FIN               -j DROP
# защита от провайдерства интернета
$IPT -A INPUT -i eth1 -m ttl --ttl-lt 128 -j DROP
$IPT -A INPUT -i eth1 -m ttl --ttl-gt 128 -j DROP


# безлимитный трафик для lo интерфейса
$IPT -t filter -A INPUT -i $LO_INTERFACE -j ACCEPT
$IPT -t filter -A OUTPUT -o $LO_INTERFACE -j ACCEPT
# Трансляция IP адресов (NAT)
$IPT -t nat -A POSTROUTING -o $NAT_INTERFACE -j MASQUERADE
$IPT -t nat -A POSTROUTING -o $WAN_INTERFACE -j MASQUERADE
$IPT -t nat -A PREROUTING -s 192.168.1.0/24 -p udp -m multiport --dport 80,5190,8080 -j REDIRECT --to-port 3128
$IPT -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp -m multiport --dport 80,5190,8080 -j REDIRECT --to-port 3128
и еще немогу понять как правильно сделать прозрачный прокси всеравно надо указывать в настройках брайзера ip сервера но порт можно не минять ?акак чтоб етого не делать?сеть простая одноранговая без dns и всего прочего ? если можно помагите! ???

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #320 : 17 Апреля 2009, 13:33:08 »
А клиенты Windows или Linux?
Только что проверил на винде, прописываю ip, который уже есть (на Linuxовом сервере). Он присваивается (!) после чего появляются предупреждения о конфликте. Так что это защита только от случайного присвоения, кому надо - сделают

клиенты Windows.
Так мне хотя бы сделать от случайного...Чтобы при смене ip другие клиенты в сети не страдали.

Можешь выслать команду(ы) для защиты от случайного присваивания? :)
Какая крманда?  :o нету никакой команды. И сообщение появляется только у того клиента, кто сменил ip, другие не замечают
а так можешь попробовать создать на клиентах статическую запись arp с ip и mac сервера

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #321 : 17 Апреля 2009, 15:49:51 »
Можешь выслать команду(ы) для защиты от случайного присваивания? :)
Какая крманда?  :o нету никакой команды.
Человек хочет сделать так, чтобы Linux машины тоже выдавали предупреждение о том, что установленный для них IP уже используется в сети.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн Twils

  • Любитель
  • *
  • Сообщений: 70
  • Ubuntu 9.04
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #322 : 04 Мая 2009, 23:59:37 »
Здарвствуйте. Скажите что я делаю не так?
Имеется ноутбук смотрящий в интернет через wifi карточку. имеется другой ноутбук не имеющий вафли. Два ноута соединены в сеть по проводам. Надо чтобы второй ноут имел инет. пропустить пакеты с вайфая на витую...
мои действия:
-первый ноут(в инет смотрящий) ubuntu на борту. второй - Win XP
-делаю sysctl -w net.ipv4.ip_forward="1"
что надо дописать в iptables чтоб все работало? накурилсо манов до головокружения но чтото не выходит...
Ubuntu 9.04  Laptop Acer Aspire 5520G

Оффлайн zloymih

  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #323 : 20 Мая 2009, 21:32:37 »
Ситуация:
Имеются комп и ноут.

в компьютере две сетевые карты:
 eth0 - смотрит в сеть 172.16.100.х и через нее же идет подключение к интернету через vpn.
 eth1 - смотрит  в сеть 192.168.0.х

VPN(pppo)<---------> eth0 [172.16.100.18]------iptables-----eth1[192.168.0.1]<--------->ноут [192.168.0.30]

На компе расшарил интернет по инструкции https://help.ubuntu.com/community/Internet/ConnectionSharing и с ноута можно выходить в инет.
В сети 172.16.100.х имеется некий dc++ хаб с которым ноутбук соединяется, но через некоторое время хаб разрывает соединение с ругательством "Your reported IP: 192.168.0.30 does not match your real IP: 172.16.100.18".

Вопрос:
1) Можно ли с помощью iptables сделать так, чтобы хаб думал что это комп с ним соединяется а не ноут?
2) разъясните правило "iptables -A POSTROUTING -t nat -j MASQUERADE"

и еще настройки iptables не сохраняются  :-[
делаю так auto lo
iface lo inet loopback


auto eth0
iface eth0 inet dhcp
up iptables-restore < /etc/network/iptables_rule
down iptable-save > /etc/network/iptables_rule

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
#gateway 192.168.0.1


Спасибо.
« Последнее редактирование: 20 Мая 2009, 21:53:38 от zloymih »

Оффлайн MadKox

  • Активист
  • *
  • Сообщений: 441
  • =)
    • Просмотр профиля
    • Моя страница на Launchpad
Re: HOWTO: Iptables для новичков
« Ответ #324 : 21 Мая 2009, 04:35:19 »
Цитировать
В сети 172.16.100.х имеется некий dc++ хаб с которым ноутбук соединяется, но через некоторое время хаб разрывает соединение с ругательством "Your reported IP: 192.168.0.30 does not match your real IP: 172.16.100.18".
Если не путаю ничего - проблема в DC клиенте, т.к. он репортит не тот IPшник.

Цитировать
разъясните правило "iptables -A POSTROUTING -t nat -j MASQUERADE"

Это правило говорит iptables делать всем пакетам приходящим в таблицу nat в цепочку POSTROUTING маскарадинг. Обычно указывают через какой интерфейс маскарадить, например (пример из скрипта)
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE

На третий вопрос не отвечу, т.к. использую "неправильный" способ инициализации фильтра - запускаю при загрузке скрипт из rc.local, который "настраивает" iptables.
Homo homini admini est...

Оффлайн viktor1962

  • Любитель
  • *
  • Сообщений: 53
  • отказался от винды
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #325 : 23 Мая 2009, 04:37:31 »
viktor@viktor-desktop:~$ sudo iptables -L -n
sudo: unable to resolve host viktor-desktop
[sudo] password for viktor:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
viktor@viktor-desktop:~$ sudo route -n
sudo: unable to resolve host viktor-desktop
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0
у меня ситуация такая- Оставляю комп на загрузке, а он нескачивает до конца встаёт! Может дело в настройках я ужо и незнаю на что грешить? И ещё модем сам -когда захочет-перезагружается. Подскажите!
С уважением Виталий Антонович

Оффлайн Bart7

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #326 : 23 Мая 2009, 19:10:20 »
zloymih
Надо сделать скрипт иполняемым: sudo chmod +x '/путь/имя_скрипта'а потом сделать автозапуск:
update-rc.d имя_скрипта start 40 S . stop 89 0 6 .
Пользователь решил продолжить мысль 23 Мая 2009, 19:59:21:
Взял скрипт отсюда: http://www.posix.ru/network/iptables/, там написано, что сетевой интерфейс ppp0, а какой мне поставить, у меня модем стоит и провайдер мегалайн
« Последнее редактирование: 23 Мая 2009, 19:59:21 от Bart7 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #327 : 28 Мая 2009, 00:10:29 »
Ыыы... я сделал это!
Сервер в сети, на одной карте два (три! пока три... старая сеть, новая сеть и сеть роутера) IP.
Локалка старая 192.168.x.0/24
Локалка новая 192.168.1.0/24
Сеть роутера 192.168.10.1/24

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d ! 192.168.0.0/16 -j SNAT --to-source 192.168.10.3

iptables-save > /etc/iptables.up.rules

nano /etc/network/interfaces

В параметры внешнего интерфейса дописать
  pre-up iptables-restore < /etc/iptables.up.rules

*писаю кипятком* Всё, время за полночь, пополз домой...

Пользователь решил продолжить мысль 28 Мая 2009, 03:59:13:
Теперь остался один, нет два... хм... в общем, есть вопросы.
Подскажите, правильно ли я понимаю, что пакет идет по одному из двух (грубо) маршрутов?

Не нам: mangle:PREROUTING -> nat:PREROUTING -> mangle:FORWARD -> filter:FORWARD -> mangle:POSTROUTING -> nat:POSTROUTING
Нам: mangle:PREROUTING -> nat:PREROUTING -> mangle:INPUT -> filter:INPUT
От нас: mangle:OUTPUT -> nat:OUTPUT -> filter:OUTPUT -> mangle:POSTROUTING -> nat:POSTROUTING

И если да, то не понятно, почему nat:OUTPUT -> filter:OUTPUT, а не наоборот?
« Последнее редактирование: 28 Мая 2009, 03:59:13 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #328 : 28 Мая 2009, 09:45:29 »
Подскажите, правильно ли я понимаю, что пакет идет по одному из двух (грубо) маршрутов?

Не нам: mangle:PREROUTING -> nat:PREROUTING -> mangle:FORWARD -> filter:FORWARD -> mangle:POSTROUTING -> nat:POSTROUTING
Нам: mangle:PREROUTING -> nat:PREROUTING -> mangle:INPUT -> filter:INPUT
От нас: mangle:OUTPUT -> nat:OUTPUT -> filter:OUTPUT -> mangle:POSTROUTING -> nat:POSTROUTING
Угу. http://www.linuxtopia.org/online_books/opensuse_guides/opensuse11.1_reference_guide/graphics/fire_tables.png

И если да, то не понятно, почему nat:OUTPUT -> filter:OUTPUT, а не наоборот?
ХЗ. Я честно говоря еще ни разу не использовал цепочку OUTPUT таблицы nat. Несмотря на очень хитрые правила маршрутизации.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн malartem

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #329 : 29 Мая 2009, 13:26:25 »
Можетя буду глупо выглядеть, но все-же я новичек.
Вопрос не новый, но я уже устал бороться своими силами, в инете мног чего написано, но у меня ничего не получается.
Я сделел шлюз на Ubuntu-сервере...настроил DHCP, SQUID.
Мне нужно пробросить 3389 порт из интернета на внутренний комп (192.168.0.2)
eth0 - инет(ip xxx.xxx.xxx.xxx); eth1 - внутренняя сеть(192.168.0.1)

если не сложно, то укажите два варианта с внешней на внутреннюю.
прямой: 3389->3389
с изменением портов 12345->3389

Заранее благодарен

 

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