LINUX.ORG.RU
ФорумAdmin

Помогите настрокить iptables


0

0

Есть мой комп. Он подключён к инэту (ip не важен). Есть поднятый и работающий мост на этом компе (ip моста 10.0.2.1). Есть виртуальная машина в KVM у которой поднят один TAP интерфейс (ip 10.0.2.2). Этот интерфейс подключен в мосту (10.0.2.1). Настроен маскарадинг между моим компом и мостом:

iptables -t nat -A POSTROUTING -s 10.0.2.2 -j MASQUERADE iptables -t nat -A POSTROUTING -d 10.0.2.2 -o br0

Теперь если для цепочек таблицы filters поставить политику ACCEPT, то из виртуальной машины видно как инэт, так и мой комп (т.е. мост 10.0.2.1). Но, если политику изменить на DROP, то инэт всё равно видно, но вот моего компа уже нет :-(

Виртуальная машина запускается от собственного юзера (kvm), с этим проблем нет. Правила iptables настроены так:

iptables -A OUTPUT -m owner --uid-owner kvm -j ACCEPT

Как, блин, мне достучаться до своего компа, если и так, вроде всё разрешено :-( Складывается ощущение, что после nat-POSTROUTING пакеты вообще не попадают в таблицу OUTPUT и поэтому срабатывает запрещающая политика.

Не знаю, что дальше делать... возня с iptables -j LOG ничего не дала (отлаживать правила для меня просто больно).


Если ты пытаешься подключиться к компу, где у тебя запущен iptables, то ты попадаешь на цепочку INPUT, а там у тебя политика DROP. попробуй iptables -A INPUT -p ALL -s 10.0.2.2 -j ACCEPT

Steel901
()
Ответ на: комментарий от Steel901

Нет, подключаться я пытаюсь через Samba (с локального компа коннектит), а там прописано:

iptables -A INPUT -p udp --dport 137 -j ACCEPT

iptables -A INPUT -p udp --dport 138 -j ACCEPT

iptables -A INPUT -p tcp --dport 139 -j ACCEPT

iptables -A INPUT -p tcp --dport 445 -j ACCEPT

И всё равно не соединяет :-(

AlannY
() автор топика
Ответ на: комментарий от AlannY

-I INPUT -p tcp --multiport --dport 137:139,445 -j ACCEPT

насколько я знаю, UDP там не нужно.

И еще учти, что цепочку OUTPUT исходящие пакеты проходят раньше, чем POSTROUTING.

И вообще приведи полный вывод iptables -vnL (в режиме preformatted text), а то у меня сегодня чего-то libastral не пашет.

nnz ★★★★
()
Ответ на: комментарий от dimon555

>нужно
Я бы поспорил. Вот конкретно сейчас смотрел фаервол одного из своих самба-серверов. Для udp-портов разрешений нет. Настраивал полгода назад, юзеры до сих пор не жалуются - следовательно, работает.

А делать такие заключения по /etc/services - не стоит. В этой бумажке много всякой фигни есть. Например, что NTP зачем-то TCP нужен.

nnz ★★★★
()
Ответ на: комментарий от nnz

# netstat -nlp | grep mbd
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN     6186/smbd
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN     6186/smbd
udp        0      0 192.168.1.16:137        0.0.0.0:*                          6196/nmbd
udp        0      0 0.0.0.0:137             0.0.0.0:*                          6196/nmbd
udp        0      0 192.168.1.16:138        0.0.0.0:*                          6196/nmbd
udp        0      0 0.0.0.0:138             0.0.0.0:*                          6196/nmbd

Вопросы есть ? Перенастраивайте firewall
Да, а для ntp tcp действительно не нужен:

# netstat -nlp | grep ntp
udp        0      0 192.168.1.16:123        0.0.0.0:*                          6125/ntpd
udp        0      0 127.0.0.1:123           0.0.0.0:*                          6125/ntpd
udp        0      0 0.0.0.0:123             0.0.0.0:*                          6125/ntpd

spirit ★★★★★
()
Ответ на: комментарий от spirit

Хм. И правда.

А фаервол перенастраивать все равно не буду :P Все имена прекрасно через днс работают.

nnz ★★★★
()

В общем, как-то заставил работать проанализировав логи iptables.

В логах Samba не только "слушает", но может ещё и отдавать пакеты, так что таким правилом всё решилось:

iptables -A OUTPUT -p udp --sport 137 -j ACCEPT iptables -A OUTPUT -p udp --sport 138 -j ACCEPT iptables -A OUTPUT -p tcp --sport 139 -j ACCEPT iptables -A OUTPUT -p tcp --sport 445 -j ACCEPT

AlannY
() автор топика
Ответ на: комментарий от AlannY

Обычно все нормальные люди делают
iptables -F OUTPUT
iptables -P OUTPUT ACCEPT

Чтобы поступить иначе - нужны _очень_ веские причины.

nnz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.