Доброго дня. Подскажите как в opensuse 12 из командной строки открыть определенные tcp порты ?
Открытие портов в opensuse из командной строки
see iptables or SUSEfirewall
iptables в opensuse не работает, а SUSEfirewall официально конфигурируется только через Yast
Всегда прекрасно работал и сейчас работает. Если Вы о том, что для запуска iptables нет отдельного баш-скрипта в /etc/init.d или юнита в systemd, так это не велик труд написать его самому.iptables в opensuse не работает
Я имею ввиду что команды напрямую к iptable, например sudo iptables -A INPUT -p tcp --dport 6880 -j ACCEPT не открывает порт 6880
Я имею ввиду что команды напрямую к iptable, например sudo iptables -A INPUT -p tcp --dport 6880 -j ACCEPT не открывает порт 6880
Все прекрасно открывает!
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
onn@urfin $ sudo iptables -A INPUT -p tcp --dport 6880 -j ACCEPT
onn@urfin $ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:6880
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
onn@urfin $
[/console]
urfin, если это и вывод из суси (а не похоже, т.к. нормальное приглашение и sudo настроен не по-идиотски), то у тебя сусевская огнестенка отключена т.к. с ней должна быть примерно такая каша:
Показать
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate ESTABLISHED
ACCEPT icmp -- anywhere anywhere ctstate RELATED
input_ext all -- anywhere anywhere
LOG all -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix "SFW2-IN-ILL-TARGET "
DROP all -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix "SFW2-FWD-ILL-ROUTING "
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Chain forward_ext (0 references)
target prot opt source destination
Chain input_ext (1 references)
target prot opt source destination
ACCEPT udp -- anywhere anywhere PKTTYPE = broadcast udp dpt:mdns
DROP all -- anywhere anywhere PKTTYPE = broadcast
ACCEPT icmp -- anywhere anywhere icmp source-quench
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT udp -- anywhere anywhere udp spt:netbios-ns ctstate RELATED
LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix "SFW2-INext-ACC-TCP "
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT udp -- anywhere anywhere udp dpt:mdns
DROP all -- anywhere anywhere PKTTYPE = multicast
DROP all -- anywhere anywhere PKTTYPE = broadcast
LOG tcp -- anywhere anywhere limit: avg 3/min burst 5 tcp flags:FIN,SYN,RST,ACK/SYN LOG level warning tcp-options ip-options prefix "SFW2-INext-DROP-DEFLT "
LOG icmp -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning tcp-options ip-options prefix "SFW2-INext-DROP-DEFLT "
LOG udp -- anywhere anywhere limit: avg 3/min burst 5 ctstate NEW LOG level warning tcp-options ip-options prefix "SFW2-INext-DROP-DEFLT "
DROP all -- anywhere anywhere
Chain reject_func (0 references)
target prot opt source destination
REJECT tcp -- anywhere anywhere reject-with tcp-reset
REJECT udp -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-proto-unreachable
[/console]
vohulg, если надо сделать аккуратно и чтобы изменения сохранялись, то я бы смотрел в сторону следующих файлов (для 12.3):
/etc/sysconfig/SuSEfirewall2
/etc/sysconfig/scripts/SuSEfirewall2-custom
Fat-Zer, естественно, что SUSEfirewall отключен, раз и навсегда :)
а не похоже, т.к. нормальное приглашение и sudo настроен не по-идиотски
cat /etc/*release*
LSB_VERSION="core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-ia32:core-3.2-ia32:core-4.0-ia32"
cat: /etc/lsb-release.d: Это каталог
NAME=openSUSE
VERSION="12.3 (Dartmouth)"
VERSION_ID="12.3"
PRETTY_NAME="openSUSE 12.3 (Dartmouth) (i586)"
ID=opensuse
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:opensuse:12.3"
openSUSE 12.3 (i586)
VERSION = 12.3
CODENAME = Dartmouth
onn@urfin $[/console]
lsb_release -a
LSB Version: core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-ia32:core-3.2-ia32:core-4.0-ia32:desktop-4.0-ia32:desktop-4.0-noarch:graphics-2.0-ia32:graphics-2.0-noarch:graphics-3.2-ia32:graphics-3.2-noarch:graphics-4.0-ia32:graphics-4.0-noarch
Distributor ID: openSUSE project
Description: openSUSE 12.3 (i586)
Release: 12.3
Codename: Dartmouth
onn@urfin $[/console]
Fat-Zer, естественно, что SUSEfirewall отключен, раз и навсегда
дык, как я понял ТС ищет, как это сделать не отключая сусевского «помощника»...
[оффтоп]
Так же легко настроить беспарольный sudo.
я про то, что у него какая-то проблема с поиском путей... хотя я ничего криминального в /etc/sudoers не заметил... ну если только то, что всем разрешено делать всё.... но к делу не относится...
alexander@goblin-book:~> sudo ifconfig
sudo: ifconfig: command not found
alexander@goblin-book:~> sudo /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr E8:11:32:93:2F:08
UP BROADCAST MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
..........
alexander@goblin-book:~> sudo grev -v '^#\|^\s*$' /etc/sudoers
sudo: grev: command not found
alexander@goblin-book:~> sudo grep -v '^#\|^\s*$' /etc/sudoers
Defaults always_set_home
Defaults env_reset
Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE"
Defaults !insults
ALL ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'!
root ALL=(ALL) ALL
Fat-Zer, просто я добавил в .bashrc строчку
export PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATHЕсли ТС раньше настроил SUSEfirewall, то довольно странно, что сейчас не может просто добавить необходимое правило. Тут ему поможет только вдумчивое чтение wiki. А если ему не нужен SUSEfirewall, то пусть запретит его запуск и использует iptables, iptables-store и iptables-restore.дык, как я понял ТС ищет, как это сделать не отключая сусевского «помощника»...
Если ТС раньше настроил SUSEfirewall, то довольно странно, что сейчас не может просто добавить необходимое правило.
дык, раньше он через гуйню настраивал, а сейчас потребовалось из консоли, возможно скриптом...
в общем мне хватит фантазировать... пусть ТС сам отвечает...
Если ТС раньше настроил SUSEfirewall, то довольно странно, что сейчас не может просто добавить необходимое правило. Тут ему поможет только вдумчивое чтение wiki.
в вике написано не много... да и в доках практически пусто...
2ТС: кстати, конкретный «сервис» можно открыть через /sbin/SuSEfirewall2.
просто я добавил в .bashrc строчку
не особо красивое решение... да и непонятно, почему без неё не работает...
Нормальное решение, в гробу я видал каждый раз писать команду с полным путем. А не работает без этого решения, потому что для обычного пользователя пути /sbin, /usr/sbin, /usr/local/sbin не заданы по умолчанию, а по команде sudo происходит только повышение привилегий локального пользователя для выполнения определенной команды или программы, но пользовательское окружение при этом не меняется.не особо красивое решение... да и непонятно, почему без неё не работает...
А не работает без этого решения, потому что для обычного пользователя пути /sbin, /usr/sbin, /usr/local/sbin не заданы по умолчанию, а по команде sudo происходит только повышение привилегий локального пользователя для выполнения определенной команды или программы, но пользовательское окружение при этом не меняется.
/sbin на то и sbin, что у обычного юзера не должен быть в PATH'е...
пользовательское то окружение меняется, но почему-то само sudo ищет программу по PATH'у вызывающего пользователя, а не по вызываемого...
[added]
нашёл... надо добавить в sudoers
Defaults secure_path = "/cбла:/бла/cбла:итп"
в генте это при компиляции задаётся... если не забуду, то надо в гентушную багзиллу отписаться, чтоб в sudoers перенесли...