А у меня это таки работало. в opensuse 10.3.
было указано две сети для маскарадинга, подряд.
Модераторы: SLEDopit, Модераторы разделов
Ну так понятное дело: переменная FW_MASQ_NETS будет содержать то значение, которое ей присвоено последним.
Да, можно. Только делать это следует, соблюдая правила работы с переменными в shell:
Код: Выделить всё
FW_MASQ_NETS="192.168.1.0/24,0/0,tcp,80"
FW_MASQ_NETS="${FW_MASQ_NETS} 192.168.1.0/24,0/0,tcp,443"
FW_MASQ_NETS="${FW_MASQ_NETS} 192.168.1.0/24,0/0,tcp,5190"
allez писал(а): ↑02.04.2009 05:00Да, можно. Только делать это следует, соблюдая правила работы с переменными в shell:
Код: Выделить всё
FW_MASQ_NETS="192.168.1.0/24,0/0,tcp,80" FW_MASQ_NETS="${FW_MASQ_NETS},192.168.1.0/24,0/0,tcp,443" FW_MASQ_NETS="${FW_MASQ_NETS},192.168.1.0/24,0/0,tcp,5190"
Определение типов файлов, входящих в пакет SuSEfirewall2
$ rpm -ql SuSEfirewall2 | while read F; do file $F; done
/etc/init.d/SuSEfirewall2_init: POSIX shell script text
/etc/init.d/SuSEfirewall2_setup: POSIX shell script text
/etc/sysconfig/SuSEfirewall2.d/services/TEMPLATE: ASCII C++ program text
/etc/sysconfig/network/if-up.d/SuSEfirewall2: symbolic link to `../scripts/SuSEfirewall2'
/etc/sysconfig/network/scripts/SuSEfirewall2: Bourne-Again shell script text
/etc/sysconfig/scripts/SuSEfirewall2-batch: Bourne-Again shell script text
/etc/sysconfig/scripts/SuSEfirewall2-custom: ASCII English text
/etc/sysconfig/scripts/SuSEfirewall2-oldbroadcast: POSIX shell script text
/etc/sysconfig/scripts/SuSEfirewall2-open: a /usr/bin/perl -w script text
/etc/sysconfig/scripts/SuSEfirewall2-qdisc: Bourne-Again shell script text
/etc/sysconfig/scripts/SuSEfirewall2-rpcinfo: a /usr/bin/perl -w script text
/etc/sysconfig/scripts/SuSEfirewall2-showlog: a /usr/bin/perl script text
/sbin/SuSEfirewall2: Bourne-Again shell script text
/sbin/rcSuSEfirewall2: symbolic link to `/etc/init.d/SuSEfirewall2_setup'
/usr/share/doc/packages/SuSEfirewall2: directory
/usr/share/doc/packages/SuSEfirewall2/EXAMPLES: UTF-8 Unicode English text
/usr/share/doc/packages/SuSEfirewall2/EXAMPLES.html: XML
/usr/share/doc/packages/SuSEfirewall2/FAQ: UTF-8 Unicode English text
/usr/share/doc/packages/SuSEfirewall2/FAQ.html: XML
/usr/share/doc/packages/SuSEfirewall2/LICENCE: ASCII English text
/usr/share/doc/packages/SuSEfirewall2/README: UTF-8 Unicode English text
/usr/share/doc/packages/SuSEfirewall2/README.html: HTML document text
/usr/share/doc/packages/SuSEfirewall2/SuSEfirewall2.sysconfig: ASCII English text
/usr/share/doc/packages/SuSEfirewall2/susebooks.css: ASCII C program text
/usr/share/susehelp: directory
/usr/share/susehelp/meta: directory
/usr/share/susehelp/meta/Manuals: directory
/usr/share/susehelp/meta/Manuals/Productivity: directory
/usr/share/susehelp/meta/Manuals/Productivity/SuSEfirewall2.desktop: ASCII text
/var/adm/fillup-templates/sysconfig.SuSEfirewall2: ASCII English text
А ничего. Длина значения переменной в shell ограничена лишь размером свободной памяти.
Код: Выделить всё
export LANG="en_US.iso8859-1"; a=""; i=0; while :; do a="${a}1"; ((i++)); echo $i; done
allez писал(а): ↑02.04.2009 14:18А ничего. Длина значения переменной в shell ограничена лишь размером свободной памяти.
P. S. Попробовал вот такую конструкцию:
Код: Выделить всё
export LANG="en_US.iso8859-1"; a=""; i=0; while :; do a="${a}1"; ((i++)); echo $i; done
Длина значения переменной дошла до 117365 символов, а потом мне просто надоело ждать.
Код: Выделить всё
Apr 2 19:34:00 newinetserv kernel: SFW2-FWDint-ACC-FORW IN=eth0 OUT=eth0 SRC=10.0.0.53 DST=10.0.2.1 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=19086 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=29952
Apr 2 19:34:01 newinetserv kernel: SFW2-FWDint-ACC-FORW IN=eth0 OUT=eth0 SRC=10.0.0.53 DST=10.0.2.1 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=19088 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=30208
Apr 2 19:34:09 newinetserv kernel: SFW2-FWDint-ACC-FORW IN=eth0 OUT=eth0 SRC=10.0.0.53 DST=10.0.2.1 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=19095 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=30976
Apr 2 19:34:32 newinetserv kernel: SFW2-FWDint-ACC-FORW IN=eth0 OUT=eth0 SRC=10.0.0.53 DST=10.0.2.1 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=19158 DF PROTO=TCP SPT=1643 DPT=22 WINDOW=16384 RES=0x00 SYN URGP=0 OPT (020405B401010402)
Apr 2 19:34:32 newinetserv kernel: SFW2-FWDint-DROP-DEFLT-INV IN=eth0 OUT=eth0 SRC=10.0.0.53 DST=10.0.2.1 LEN=40 TOS=0x00 PREC=0x00 TTL=127 ID=19159 DF PROTO=TCP SPT=1643 DPT=22 WINDOW=16392 RES=0x00 ACK URGP=0
DSS писал(а): ↑02.04.2009 16:13Пояснения: 10.0.0.0/24 - сеть основного филиала, eth0 - интерфейс сервера смотрящий во внутреннюю сеть, 10.0.2.1 - OpenVPN-клиент в сети филиала.
Если из настроек SuSEFirewall убрать параметр FW_FORWARD - связь с филиалами теряется полностью, в том числе теряются и пинги.
Код: Выделить всё
## Path: Network/Firewall/SuSEfirewall2
## Description: SuSEfirewall2 configuration
## Type: string
## Default: any
#
FW_DEV_EXT="ppp0 eth0"
FW_DEV_INT="eth1"
FW_DEV_DMZ=""
FW_ROUTE="yes"
FW_MASQUERADE="yes"
FW_MASQ_DEV="$FW_DEV_EXT"
FW_MASQ_NETS="192.168.0.1/24,tcp,80"
FW_NOMASQ_NETS=""
FW_PROTECT_FROM_INT="yes"
FW_SERVICES_EXT_TCP=""
FW_SERVICES_EXT_UDP=""
FW_SERVICES_EXT_IP=""
FW_SERVICES_EXT_RPC=""
FW_CONFIGURATIONS_EXT="dhcp-server"
FW_SERVICES_DMZ_UDP=""
FW_SERVICES_DMZ_IP=""
FW_SERVICES_DMZ_RPC=""
FW_CONFIGURATIONS_DMZ=""
FW_SERVICES_INT_TCP="25 110 143 8008 8009 8028 8030 8080 443 80"
FW_SERVICES_INT_UDP="53"
FW_SERVICES_INT_IP=""
FW_SERVICES_INT_RPC=""
FW_CONFIGURATIONS_INT=""
FW_SERVICES_DROP_EXT=""
FW_SERVICES_DROP_DMZ=""
FW_SERVICES_DROP_INT=""
FW_SERVICES_REJECT_EXT=""
FW_SERVICES_REJECT_DMZ=""
FW_SERVICES_REJECT_INT=""
FW_SERVICES_ACCEPT_EXT=""
FW_SERVICES_ACCEPT_DMZ=""
FW_SERVICES_ACCEPT_INT=""
FW_SERVICES_ACCEPT_RELATED_EXT=""
FW_SERVICES_ACCEPT_RELATED_DMZ=""
FW_SERVICES_ACCEPT_RELATED_INT=""
FW_TRUSTED_NETS="192.168.0.1/24"
FW_ALLOW_INCOMING_HIGHPORTS_TCP=""
FW_ALLOW_INCOMING_HIGHPORTS_UDP="DNS"
FW_FORWARD=""
FW_FORWARD_REJECT=""
FW_FORWARD_DROP=""
FW_FORWARD_MASQ=""
FW_REDIRECT=""
FW_LOG_DROP_CRIT="yes"
FW_LOG_DROP_ALL="no"
FW_LOG_ACCEPT_CRIT="yes"
FW_LOG_ACCEPT_ALL="no"
FW_LOG_LIMIT=""
FW_LOG=""
FW_KERNEL_SECURITY="yes"
FW_STOP_KEEP_ROUTING_STATE="no"
FW_ALLOW_PING_FW="yes"
FW_ALLOW_PING_DMZ="no"
FW_ALLOW_PING_EXT="no"
FW_ALLOW_FW_SOURCEQUENCH=""
FW_ALLOW_FW_BROADCAST_EXT="no"
FW_ALLOW_FW_BROADCAST_INT="no"
FW_ALLOW_FW_BROADCAST_DMZ="no"
FW_IGNORE_FW_BROADCAST_EXT="yes"
FW_IGNORE_FW_BROADCAST_INT="no"
FW_IGNORE_FW_BROADCAST_DMZ="no"
FW_ALLOW_CLASS_ROUTING=""
FW_CUSTOMRULES=""
FW_REJECT=""
FW_REJECT_INT="yes"
FW_HTB_TUNE_DEV=""
FW_IPv6=""
FW_IPv6_REJECT_OUTGOING=""
FW_IPSEC_TRUST="no"
FW_ZONES=""
FW_USE_IPTABLES_BATCH=""
FW_LOAD_MODULES="nf_conntrack_netbios_ns"
FW_FORWARD_ALWAYS_INOUT_DEV=""
FW_FORWARD_ALLOW_BRIDGING=""
Код: Выделить всё
eth0 Link encap:Ethernet HWaddr 4C:00:10:54:2B:D9
inet addr:10.1.1.113 Bcast:10.1.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:224599 errors:0 dropped:0 overruns:0 frame:0
TX packets:187913 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:162100814 (154.5 Mb) TX bytes:28645435 (27.3 Mb)
Interrupt:20 Base address:0xec00
eth2 Link encap:Ethernet HWaddr 00:26:18:CB:CC:E6
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27700 errors:0 dropped:0 overruns:0 frame:0
TX packets:40958 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5070713 (4.8 Mb) TX bytes:41715067 (39.7 Mb)
Interrupt:220 Base address:0x2000
Код: Выделить всё
FW_DEV_EXT="any eth-id-4C:00:10:54:2B:D9"
FW_DEV_INT="eth-id-00:26:18:CB:CC:E6"
FW_ROUTE="yes"
FW_MASQUERADE="yes"
FW_MASQ_DEV="$FW_DEV_EXT"
# 192.168.0.2 - это второй комп, на котром нет инета
FW_MASQ_NETS= "192.168.0.2/24,0/0,tcp,25 \
192.168.0.2/24,0/0,tcp,110 \
192.168.0.2/24,0/0,tcp,5899 \
192.168.0.2/24,0/0,tcp,8535 \
192.168.0.2/24,0/0,udp,53 \
\
"
FW_PROTECT_FROM_INT="yes"
FW_SERVICES_INT_TCP="22 3128"
FW_SERVICES_REJECT_EXT="0/0,tcp,113"
# 10.10.1.1 - это сервак провайдера а 8535 - порт
FW_SERVICES_ACCEPT_EXT="10.10.1.1/24,tcp,22 10.10.1.1/24,tcp,8535"
FW_LOG_DROP_CRIT="yes"
FW_LOG_DROP_ALL="no"
FW_LOG_ACCEPT_CRIT="yes"
FW_LOG_ACCEPT_ALL="no"
FW_KERNEL_SECURITY="no"
FW_STOP_KEEP_ROUTING_STATE="no"
FW_ALLOW_PING_FW="yes"
FW_ALLOW_PING_DMZ="no"
FW_ALLOW_PING_EXT="yes"
FW_ALLOW_FW_BROADCAST_EXT="no"
FW_ALLOW_FW_BROADCAST_INT="no"
FW_ALLOW_FW_BROADCAST_DMZ="no"
FW_IGNORE_FW_BROADCAST_EXT="yes"
FW_IGNORE_FW_BROADCAST_INT="no"
FW_IGNORE_FW_BROADCAST_DMZ="no"
FW_REJECT_INT="yes"
FW_IPSEC_TRUST="no"
FW_LOAD_MODULES="nf_conntrack_netbios_ns"