понедельник, 29 сентября 2014 г.

nat and iptables (DNAT)

Немного про iptables и nat. Нет, не будем-с копировать с других форумов всякую мелочь, а только важное.
Короч, такая тема. Нужно пробросить порт 21 из вне на одну сетевую тачку. Допустим провайдер дает нам статический ойпи, 215.2178.124.23, а нужная нам машина имеет внутренний ойпи  192.168.66.77
Все мелкие нюансы по настройке и установки iptables должны быть заведомо проделаны. Короч, все работает и запихиваем в сосоль это вот:
(если чо, от рута, иначе sosnooley)

#  iptables -t nat -A PREROUTING -d 215.2178.124.23/32 -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.66.77:21

Внезапно захотелось чтобы трафик на данный порт шуровал по udp? да нефиг делать! Короч, те же яйца, только в профиль:

# iptables -t nat -A PREROUTING -d 215.2178.124.23/32 -p udp -m udp --dport 21 -j DNAT --to-destination 192.168.66.77:21


В завершении статьи хотелось бы добавить, если ты случайно упоролся и понял. что открыл не те порты, не сцы! Их можно сагануть, т.е. удалить. Я не сразу вкурил чо как, но вот готовое решение. В общем, если нужно удалить проброс порта на определенную мащину, значит пришло время удалять правило nat. Нет, нельзя так просто взять и удалить. Для начала надо узнать номер правила. Смотрим выхлоп:

# iptables -L -t nat --line-numbers

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

# iptables -L -t nat --line-numbers | grep -i 192.168.66.77

Как и полагается, в выхлопе найдены все правила связанные с этим адресом. Ну так вот, слева будут цифры, это и есть номер правила, которое нужно дропнуть.

# iptables -t nat PREROUTING 15

И самое важное, сохраняйся чувак, играя с iptables, ты играешь с огнем, рискуешь потерять работу, и ехать на хостинг править вручну. Я сегодня чуть уже не собирал свои манатки, посему надо делать так:

# service iptables save

А тут самый сок, надо же провирить как оно стартанет в случае ребута пердоликса. Короч, скрестив пальцы ждем-с

# service iptables restart

Если не накосячил и тебе повезло, то радуйся жизни. А если iptables умер при запуске, то езжай и правь вручную.
Удачи!

воскресенье, 28 сентября 2014 г.

SHA256 checksums

Сегодня столкнулся с такой траблой:

>>> checking ebuild checksums
!!! Digest verification failed:
!!! /usr/portage/mate-base/mate-applets/mate-applets-1.8.0-r1.ebuild
!!! Reason: Failed on SHA256 verification
!!! Got: 6550bb13771sadffa75dc702fe6177ce1ec0679f1821d34bdf40dc2d951e5dasd
!!! Expected: b11869f9d5f7xc8ca7e2816b1c7bc90851662f748f26254c63abacfca132


Пошел в гугл, послал гугл, почесал репу и прочитал внимательно. Все оказалось проще. Проблема в хеш-сумме ебыдла, и решается она просто:
# ebuild /usr/portage/mate-base/mate-applets/mate-applets-1.8.0-r1.ebuild manifest

# ebuild /usr/portage/mate-base/mate-applets/mate-applets-1.8.0-r1.ebuild install

Ну собственно говоря и все. Наш пакет ставится, к тому же данная операция применима для всех  пакетов с подобными ошибками.
Удачи!

Alsa settings

Любителям альсы посвящается.
Если горячелюбимая альса не схороняет настройки, то нужно для начала настроить миксер как нужно, вазывав его командой:
$ alsamixer
и потом можно сохранять
# /etc/init.d/alsasound save

Ну и все, следующие пуски системы будут с нормальными настройками.