Доброго времени суток. подскажите пожалуйста новичку. Не понимаю почему фаерволл не дает вылезти в инет! (раньше выходил).
У сервака(192.168.1.3) настроен pppoe. firewall включен. он должен обеспечивать инет компам 192.168.1.1 и 192.168.1.2 по НАТ./usr/src/sys/i386/conf:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET/etc/rc.conf:
# -- sysinstall generated deltas -- # Sun Mar 1 15:52:58 2009
# Created: Sun Mar 1 15:52:58 2009
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
keymap="ru.koi8-r"
moused_enable="YES"
moused_port="/dev/psm0"
network_interfaces="lo0 vr0"
ifconfig_lo0="inet 127.0.0.1"
# -- sysinstall generated deltas -- # Sun Mar 1 16:06:13 2009
linux_enable="YES"
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="NO"
ppp_profile="dom"
sshd_enable="YES"
gateway_enable="YES"
defaultrouter="0.0.0.0"
natd_enable="YES"
natd_interface="tun0"
#natd_dynamic="YES"
natd_flags="-dynamic -f /etc/natd.conf"
firewall_enable="YES"
#firewall_type="OPEN"
firewall_script="/etc/my.firewall"
# -- sysinstall generated deltas -- # Tue Mar 3 20:32:04 2009
ifconfig_vr0="inet 192.168.1.3 netmask 255.255.255.0"
hostname="server.workgroup"
# -- sysinstall generated deltas -- # Fri Mar 6 19:51:15 2009
ifconfig_vr0="inet 192.168.1.3 netmask 255.255.255.0"
hostname="server.workgroup"
# -- sysinstall generated deltas -- # Fri Mar 6 19:52:19 2009
ifconfig_vr0="inet 192.168.1.3 netmask 255.255.255.0"
hostname="server.workgroup"
# -- sysinstall generated deltas -- # Fri Mar 6 21:26:51 2009
ifconfig_vr0="inet 192.168.1.3 netmask 255.255.255.0"
font8x8="NO"
font8x14="NO"
font8x16="NO"
scrnmap="koi8-r2cp866"
hostname="server.workgroup"
# -- sysinstall generated deltas -- # Fri Mar 13 19:46:16 2009
router_flags="-q"
router="/sbin/routed"
router_enable="YES"
/etc/my.firewall
fw="/sbin/ipfw -q"
inif="vr0"
outif="tun0"
inip="192.168.1.3"
#в принципе тут можно написать любой айпи, т.к. он динамичный. так?
outip="XXX.XXX.XXX.XXX"
innet="192.168.1.0/24"
${fw} -f flush
${fw} - table 0 flush
${fw} table 0 add 192.168.1.1
${fw} table 0 add 192.168.1.2
${fw} add allow all from any to any via lo0
${fw} add deny log all from any to 127.0.0.0/8
${fw} add deny log all from 127.0.0.0/8 to any
${fw} add deny log ip from any to 169.254.0.0/16 in via ${outif}
${fw} add deny log ip from any to 0.0.0.0/8 in via ${outif}
${fw} add deny log ip from any to 192.168.1.0/16 in via ${outif}
${fw} add deny log ip from any to 12.16.0.0/12 in via ${outif}
${fw} add deny log ip from any to 10.0.0.0/8 in via ${outif}
${fw} add deny log ip from any to 240.0.0.0/4 in via ${outif}
${fw} add deny log icmp from any to any frag
#####${fw} add deny log icmp from any to 255.255.255.255 in via ${outif}
#####${fw} add deny log icmp from any to 255.255.255.255 out via ${outif}
#
${fw} add divert natd all from ${innet} to any out via ${outif}
${fw} add divert natd all from any to ${outip} in via ${outif}
#
${fw} add allow tcp from any to any via ${outif} established
${fw} add allow tcp from ${inip}, ${outip} to any out xmit ${outif} setup
${fw} add allow all from ${innet} to any out via ${inif}
${fw} add allow all from any to ${innet} in via ${inif}
${fw} add allow icmp from from any to any icmptypes 0,3,8,11
${fw} add reset log tcp from any to any 113 in recv ${outif}
#
${fw} add allow udp from ${outip} to any out via ${outif}
${fw} add allow udp from any to ${outip} 53 in via ${outif}
${fw} add allow udp from any 53 to ${outip} in via ${outif}
${fw} add allow udp from any 123 to ${outip} in via ${outif}
#
${fw} add allow udp from ${innet} to any 53
${fw} add allow udp from any 53 to ${innet}
${fw} add allow udp from ${innet} to any 123
${fw} add allow udp from any 123 to ${innet}
#
${fw} add allow tcp from any to ${outip} 53 in via ${outif} setup
${fw} add allow tcp from any to ${outip} 80 in via ${outif} setup
#
${fw} add allow tcp from table\(0\) to ${outip} 555 in via ${outif} setup
#
${fw} add allow tcp from ${innet} to any in via ${inif}
${fw} add allow tcp from any to ${innet} out via ${inif}
${fw} add allow tcp from any 20 to ${innet} in via ${outif}
${fw} add 65534 deny log all from any to any
В итоге на сервере не пашет инет (хотя до фаервола работал). ДНС сервер провайдера не пингуется, пишет аксес денайд. что делать? в чем ошибка?
>В итоге на сервере не пашет инет (хотя до фаервола работал). ДНС
>сервер провайдера не пингуется, пишет аксес денайд. что делать? в чем
>ошибка?1 если интерфейс с динамическим IP, то писать этот IP в скрипт - мягко говоря странно. Используйте me - все адреса данного хоста.
2 лучше покажите ipfw show вместо скрипта
ipfw show:
00100 0 0 allow ip from any to any via lo0
00200 0 0 deny log logamount 100 ip from any to 127.0.0.0/8
00300 0 0 deny log logamount 100 ip from 127.0.0.0/8 to any
00400 0 0 deny log logamount 100 ip from any to 169.254.0.0/16 in via tu n0
00500 0 0 deny log logamount 100 ip from any to 0.0.0.0/8 in via tun0
00600 0 0 deny log logamount 100 ip from any to 192.168.0.0/16 in via tu n0
00700 0 0 deny log logamount 100 ip from any to 12.16.0.0/12 in via tun0
00800 0 0 deny log logamount 100 ip from any to 10.0.0.0/8 in via tun0
00900 0 0 deny log logamount 100 ip from any to 240.0.0.0/4 in via tun0
01000 0 0 deny log logamount 100 icmp from any to any frag
01100 0 0 divert 8668 ip from 192.168.1.0/24 to any out via tun0
01200 0 0 divert 8668 ip from any to XXX.XXX.XXX.XXX in via tun0
01300 0 0 allow tcp from any to any via tun0 established
01400 0 0 allow tcp from 192.168.1.3,XXX.XXX.XXX.XXX to any out xmit tun0 setup
01500 109 13192 allow ip from 192.168.1.0/24 to any out via vr0
01600 365 33400 allow ip from any to 192.168.1.0/24 in via vr0
01700 0 0 reset log logamount 100 tcp from any to any dst-port 113 in re cv tun0
01800 0 0 allow udp from XXX.XXX.XXX.XXX to any out via tun0
01900 0 0 allow udp from any to XXX.XXX.XXX.XXX dst-port 53 in via tun0
02000 0 0 allow udp from any 53 to XXX.XXX.XXX.XXX in via tun0
02100 0 0 allow udp from any 123 to XXX.XXX.XXX.XXX in via tun0
02200 0 0 allow udp from 192.168.1.0/24 to any dst-port 53
02300 0 0 allow udp from any 53 to 192.168.1.0/24
02400 0 0 allow udp from 192.168.1.0/24 to any dst-port 123
02500 0 0 allow udp from any 123 to 192.168.1.0/24
02600 0 0 allow tcp from any to XXX.XXX.XXX.XXX dst-port 53 in via tun0 se tup
02700 0 0 allow tcp from any to XXX.XXX.XXX.XXX dst-port 80 in via tun0 se tup
02800 0 0 allow tcp from table(0) to XXX.XXX.XXX.XXX dst-port 555 in via t un0 setup
02900 0 0 allow tcp from 192.168.1.0/24 to any in via vr0
03000 0 0 allow tcp from any to 192.168.1.0/24 out via vr0
03100 0 0 allow tcp from any 20 to 192.168.1.0/24 in via tun0
65534 2197 185524 deny log logamount 100 ip from any to any
65535 5 304 deny ip from any to any
>[оверквотинг удален]
>02900 0 0 allow
>tcp from 192.168.1.0/24 to any in via vr0
>03000 0 0 allow
>tcp from any to 192.168.1.0/24 out via vr0
>03100 0 0 allow
>tcp from any 20 to 192.168.1.0/24 in via tun0
>65534 2197 185524 deny log logamount 100 ip from any to any
>
>65535 5 304 deny ip from
>any to anyпочему не взять за основу какой-нить кусок из /etc/rc.firewall, а когда заработает начинать лепить отсебятину?
не хотите, тогда попробуйте например так:
ipfw add allow all from any to any via lo0
ipfw add divert natd all from any to any via tun0
ipfw add allow all from any to any established
ipfw add allow all from any to any setup
ipfw add deny all from any to anyа потом постепенно добавляйте то что вам нужно и тестируйте
>не хотите, тогда попробуйте например так:
>ipfw add allow all from any to any via lo0
>ipfw add divert natd all from any to any via tun0
>ipfw add allow all from any to any established
>ipfw add allow all from any to any setup
>ipfw add deny all from any to any
>
>а потом постепенно добавляйте то что вам нужно и тестируйтеРебят, я не пойму в чем проблема!!! я в my.firewall написал:
/etc/my.firewall
fw="/sbin/ipfw -q"
inif="vr0"
outif="tun0"
inip="192.168.1.3"
#в принципе тут можно написать любой айпи, т.к. он динамичный. так?
outip="XXX.XXX.XXX.XXX"
innet="192.168.1.0/24"
${fw} -f flush
${fw} add allow all from any to any via lo0
${fw} add divert natd all from any to any via tun0
${fw} add allow all from any to any established
${fw} add allow all from any to any setup
${fw} add deny all from any to anyне пашет: даже локалка не пингуется.
Пробовал закоментить последнюю строчку - то же самое.
Так что вернул как раньше было, чтоб хоть SSH был. кто-нить может мне объяснить в чем дело?
последние несколько строчек /var/log/securityMar 21 20:10:28 server kernel: ipfw: 65534 Deny ICMP:8.0 XXX.XX.XXX.XXX YYY.YYY.YYY.2 out via tun0
Mar 21 20:10:29 server kernel: ipfw: 65534 Deny ICMP:8.0 XXX.XX.XXX.XXX YYY.YYY.YYY.2 out via tun0
Mar 21 20:10:51 server kernel: ipfw: 65534 Deny ICMP:8.0 XXX.XX.XXX.XXX YYY.YYY.YYY.69 out via tun0
Mar 21 20:10:53 server last message repeated 2 times
Mar 21 20:11:05 server kernel: ipfw: 65534 Deny ICMP:8.0 XXX.XX.XXX.XXX YYY.YYY.YYY.231 out via tun0#XXX.XXX.XXX.XXX - внешний айпи
#YYY.YYY.YYY первые 3 числа от айпи адреса DNS сервера
не работает фаревол - все просто!
для начала (как советуют люди выше) перстаем пытатся ковырять свой скрипт
делаем allow any from any to any
затем + divert (перед первым правилом)
если все заработало - начинаем проявлять свою бурную фантазию и знание стека tcp/ip (желательно с включенным log) затягивая гайки.удачи
>[оверквотинг удален]
>Mar 21 20:10:29 server kernel: ipfw: 65534 Deny ICMP:8.0 XXX.XX.XXX.XXX YYY.YYY.YYY.2 out
>via tun0
>Mar 21 20:10:51 server kernel: ipfw: 65534 Deny ICMP:8.0 XXX.XX.XXX.XXX YYY.YYY.YYY.69 out
>via tun0
>Mar 21 20:10:53 server last message repeated 2 times
>Mar 21 20:11:05 server kernel: ipfw: 65534 Deny ICMP:8.0 XXX.XX.XXX.XXX YYY.YYY.YYY.231 out
>via tun0
>
>#XXX.XXX.XXX.XXX - внешний айпи
>#YYY.YYY.YYY первые 3 числа от айпи адреса DNS сервераICMP:8.0 - это ping. В правилах фаервола icmp НЕ разрешен, что непонятного???
>
>ICMP:8.0 - это ping. В правилах фаервола icmp НЕ разрешен, что непонятного???
>Если в правилах он не разрешен - тогда это что?
>${fw} add allow icmp from from any to any icmptypes 0,3,8,11
Сейчас пересобираю ядро. добавил строчку:
options IPFIREWALL_DEFAULT_TO_ACCEPTУ меня тоже есть подозрения, что фаерволл не работает
все! инет на сервере заработал.
Была ошибка либо с пересобиранием ядра, либо:
>${fw} add allow icmp from from any to any icmptypes 0,3,8,11исправил на:
>${fw} add allow icmp from any to any icmptypes 0,3,8,11Сейчас проблема с:
1. не работает команда traceroute. Хотя команда traceroute -P icmp работает. Понятно,что ошибка с разрешением udp. но я то его в правилах разрешил
2. сервер все-равно не осуществляет свою задачи - поставлять интернет во внутреннюю сеть.
хотя на клиенте указал: default gateway - 192.168.1.3 #айпи адрес сервера
возможно проблема в том что в /etc/natd.conf пусто. туда надо что-нить писать (вроде у меня фаервол ему передает управление)?
еще не работает команда ping www.ya.ru. пишет: ping: cannot resolve www.ya.ru: Host name lookup failure. (до фаервола работала)
>[оверквотинг удален]
>1. не работает команда traceroute. Хотя команда traceroute -P icmp работает. Понятно,что
>ошибка с разрешением udp. но я то его в правилах разрешил
>
>2. сервер все-равно не осуществляет свою задачи - поставлять интернет во внутреннюю
>сеть.
>хотя на клиенте указал: default gateway - 192.168.1.3 #айпи адрес сервера
>возможно проблема в том что в /etc/natd.conf пусто. туда надо что-нить писать
>(вроде у меня фаервол ему передает управление)?
>еще не работает команда ping www.ya.ru. пишет: ping: cannot resolve www.ya.ru: Host
>name lookup failure. (до фаервола работала)ДНС трафик разрешить надабы
>
>ДНС трафик разрешить надабынасколько я понял, чтобы разрешить ДНС трафик, надо добавить в правила фаерволла:
${fw} add allow tcp from any to table\(3\) 53 out via tun0 setup keep-state
${fw} add allow udp from any to table\(3\) 53 out via tun0 keep-state
В table 3 ДНС сервера провайдера
Сделал - все заработало.
ping www работает.
Тем не менее, остается проблема в том, что сервер не поставляет инет на другой комп.
последние несколько строчек /var/log/security:Mar 22 14:17:57 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 95.70.121.167:49351 in via vr0
Mar 22 14:17:57 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 78.37.43.88:62961 in via vr0
Mar 22 14:17:57 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 95.132.33.12:45225 in via vr0
Mar 22 14:17:57 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 95.220.35.186:54873 in via vr0
Mar 22 14:17:57 server kernel: ipfw: 65534 Deny TCP XXX.XXX.XXX.XXX:52106 94.180.13.178:36828 out via tun0
Mar 22 14:17:58 server kernel: ipfw: 65534 Deny TCP XXX.XXX.XXX.XXX:52101 85.140.171.177:53500 out via tun0
Mar 22 14:17:58 server kernel: ipfw: 65534 Deny TCP XXX.XXX.XXX.XXX:52107 86.106.233.220:61734 out via tun0
Mar 22 14:17:58 server kernel: ipfw: 65534 Deny TCP XXX.XXX.XXX.XXX:52105 79.164.125.77:34625 out via tun0
Mar 22 14:17:59 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 85.240.175.137:50526 in via vr0
Mar 22 14:17:59 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 58.207.156.18:17161 in via vr0
Mar 22 14:17:59 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 95.37.182.207:57521 in via vr0
Mar 22 14:17:59 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 72.140.70.233:21608 in via vr0
Mar 22 14:17:59 server kernel: ipfw: 65534 Deny TCP XXX.XXX.XXX.XXX:52102 89.208.204.104:15724 out via tun0
Mar 22 14:17:59 server kernel: ipfw: 65534 Deny TCP XXX.XXX.XXX.XXX:52103 80.81.39.99:53186 out via tun0
Mar 22 14:18:00 server kernel: ipfw: 65534 Deny TCP XXX.XXX.XXX.XXX:52106 94.180.13.178:36828 out via tun0
Mar 22 14:18:01 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 114.42.188.46:9848 in via vr0
Mar 22 14:18:01 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 60.205.175.158:19213 in via vr0
Mar 22 14:18:01 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 205.250.146.149:25700 in via vr0
Mar 22 14:18:01 server kernel: ipfw: 65534 Deny UDP 192.168.1.1:23114 24.73.10.56:48614 in via vr0
Mar 22 14:18:01 server kernel: ipfw: 65534 Deny TCP XXX.XXX.XXX.XXX:52107 86.106.233.220:61734 out via tun0
Mar 22 14:18:02 server kernel: ipfw: 65534 Deny TCP XXX.XXX.XXX.XXX:52104 92.100.55.22:33923 out via tun0
Mar 22 14:18:04 server kernel: ipfw: 65534 Deny TCP XXX.XXX.XXX.XXX:52105 79.164.125.77:34625 out via tun0XXX.XXX.XXX.XXX - внешний айпи сервака
192.168.1.1 - айпи компа, на котором хотел выйти в инет ч/з сервак
Путем долгих шаманств и ударов в бубен, добился того, чтобы когда с клиента пингуешь днс сервер провайдера - сам пинг проходит, т.е. трафик выходит наружу, а обратно зайти не может. помогите пожалуйста, что надо дописать в правилах фаервола, чтоб трафик обратно тоже шел???
>01300 0 0 allow tcp from any to any via tun0 establishedзаменить на:
allow all from any to any established
>>01300 0 0 allow tcp from any to any via tun0 established
>
>заменить на:
>allow all from any to any establishedЯ уже понял в чем проблема. спасибо! только вот беда - с клиента пингуется ДНС провайдера, но например ping www.ya.ru не работает. пишет что не может найти такой хост.
в настройках локального соединения клиента я добавил и
default gateway - ip сервера. и 2 DNS провайдера.
nslookup тоже не работает. на серваке все эти команды работают. Как с этим бороться? Или это в порядке вещей?
>[оверквотинг удален]
>>заменить на:
>>allow all from any to any established
>
>Я уже понял в чем проблема. спасибо! только вот беда - с
>клиента пингуется ДНС провайдера, но например ping www.ya.ru не работает. пишет
>что не может найти такой хост.
>в настройках локального соединения клиента я добавил и
>default gateway - ip сервера. и 2 DNS провайдера.
>nslookup тоже не работает. на серваке все эти команды работают. Как с
>этим бороться? Или это в порядке вещей?нада поднять на сервере кеширующий ДНС или разрешить UDP трафик с 192.168.0.0/24 до ДНС прова порт 53
>нада поднять на сервере кеширующий ДНС или разрешить UDP трафик с 192.168.0.0/24
>до ДНС прова порт 53да дело в том что я фаерволл полностью открыл.
написал add allow all from any to any established
но все-равно nslookup на клиенте не пашет. tracert ( на клиенте винда) тоже работает, но сайты именно не пингуются.
возможно проблема в том, что провайдер привязывается в мак адресу одного компа, а остальным дает выход только в личный кабинет. так что сейчас сервак пока что только может выйти в личный кабинет. на серваке личный кабинет пингуется, а на клиенте уже нет. В чем проблема, фаерволл ведь уже ничего не задерживает?
>да дело в том что я фаерволл полностью открыл.
>написал add allow all from any to any established
>но все-равно nslookup на клиенте не пашет. tracert ( на клиенте винда)
>тоже работает, но сайты именно не пингуются.
>возможно проблема в том, что провайдер привязывается в мак адресу одного компа,
>а остальным дает выход только в личный кабинет. так что сейчас
>сервак пока что только может выйти в личный кабинет. на серваке
>личный кабинет пингуется, а на клиенте уже нет. В чем проблема,
>фаерволл ведь уже ничего не задерживает?уважаемый, вам выше советовали изучать стек tcp/ip и не вбивать правила по обезъяньему принципу "а вдруг поможет" а думать головой.
add allow all from any to any established вы хоть знаете что это относится только к tcp?
вы знаете что nslookup как и все служба DNS (в основном)работают по udp?
вы знаете что traceroute это udp + icmp?
чето по моему вы нихера не понимаете и понять не хотите
>[оверквотинг удален]
>>фаерволл ведь уже ничего не задерживает?
>
>уважаемый, вам выше советовали изучать стек tcp/ip и не вбивать правила по
>обезъяньему принципу "а вдруг поможет" а думать головой.
>add allow all from any to any established вы хоть знаете что
>это относится только к tcp?
>вы знаете что nslookup как и все служба DNS (в основном)работают по
>udp?
>вы знаете что traceroute это udp + icmp?
>чето по моему вы нихера не понимаете и понять не хотитеЗачем тебе вообще все закрывать то? в дэбиане есть fail2ban наверняка есть исходники в нете, настрой ее и будет тебе чтото типо автоматического бан листа и не надо придумывать всякие фаерволы лишние ...
>[оверквотинг удален]
>>add allow all from any to any established вы хоть знаете что
>>это относится только к tcp?
>>вы знаете что nslookup как и все служба DNS (в основном)работают по
>>udp?
>>вы знаете что traceroute это udp + icmp?
>>чето по моему вы нихера не понимаете и понять не хотите
>
>Зачем тебе вообще все закрывать то? в дэбиане есть fail2ban наверняка есть
>исходники в нете, настрой ее и будет тебе чтото типо автоматического
>бан листа и не надо придумывать всякие фаерволы лишние ...ns неправ - все ненужные сервисы должны быть прикрыты фареволом (на всякий случай)
советую изучить матчасть по теме internet security
я понимаю вас. просто тяжело разбираться, когда над душой стоят и требуют, чтоб все заработало. я тоже понимаю что мне нужно чтобы трафик с машины-клиента проходил на ДНС прова по udp. Я просто не понимаю что делает моя система? я в правилах добавил:${fw} add allow udp from 192.168.1.1 to any 53
${fw} add allow udp from any 53 to 192.168.1.1
${fw} add allow udp from 192.168.1.1 to any 123
${fw} add allow udp from any 123 to 192.168.1.1#192.168.1.1 - айпи клиента
Все-равно на клиенте nslookup www.ya.ru не работает. unknown host пишет. а сама ДНС прова пингуется
ЗЫ если вам трудно, то пожалуйста не отвечайте.
если уж открывать, то так:
allow all from any to any 53
allow all from any 53 to anyперед правилом, запрещающим все, можно добавить для отладки:
ipfw add allo log logamount 100 all from any to anyи посмотреть по логам какой трафик пойдет по этому правилу.
>если уж открывать, то так:
>allow all from any to any 53
>allow all from any 53 to anyпробовал - никакого эффекта. да я даже ща закоментил все запрещающие правила. он ничего уже не запрещает, а все равно та же ошибка. может причина не в IPFW уже? на сервере то nslookup работает
>>если уж открывать, то так:
>>allow all from any to any 53
>>allow all from any 53 to any
>
>пробовал - никакого эффекта. да я даже ща закоментил все запрещающие правила.
>он ничего уже не запрещает, а все равно та же ошибка.
>может причина не в IPFW уже? на сервере то nslookup работает
>ну не может токово быть!!!
если у тебя:
1) включена маршрутизация
2) включен нат
3) прописано два правила:
divert from any to any via external_if
allow from any to any
то все долно нормально ходить
если нет - то гдето явные косяки с настройкой и надо проверить:
1) адресацию
2) может где на клиентах фареволы криво настроенысоветую начать с tcpdump, отслеживать все пакеты идущие через шлюз - там уже будет видно где косяк
вы конечно можете меня называть тупым или идиотом или криворуким, но не работает! на клиенте nslookup не работает. говорит, что ДНС не отвечает. на клиенте фаерволл отключен, в настройках локальной сети все написано: шлюз - айпи сервера. DNS-днс провайдера. все-равно клиент пингует ДНС прова, но nslookup не работает. на сервере фаевол открыт полностью и весь трафик пропускает, netstat -rn показывает что маршрут 192.168.1.1 существует. Может проблема в том что в rc.conf есть строчка defaultrouter=0.0.0.0 - но я его списал с активного подключения того же провайдера. есть мысли в чем проблем?
Пробовал настроить кэширующий ДНС - в мане написано, что надо только включить named и в resolv.conf не упоминать о зонах. Пробовал, даже пробовал в /etc/namedb/named.conf прописывать ip DNS forwarders. никакого толку. В настройках локальной сети на клиенте указывал DNS - ip сервера, тоже не помогло. блин, я даже не знаю к кому обратиться? все руками разводят... мужики, помогите разобраться!
>rc.conf есть строчка defaultrouter=0.0.0.0че за бред?
какой у тя тип подключения к прову?
покажи netstat -r НА ШЛЮЗЕ
Выкиньте natd на помойку, ipnat красивее
>Выкиньте natd на помойку, ipnat красивеене в тональность пернул
>не в тональность пернулВо-первых не ты, а Вы. Во-вторых, будьте тактичнее. А то прямо как гопник за углом. Стыдно уж, вроде взрослые люди. В-третьих, я дал совет, прислушиваться или нет - дело каждого.
>>не в тональность пернулневерно по форме но точно по сути.
>Во-первых не ты, а Вы. Во-вторых, будьте тактичнее. А то прямо как
>гопник за углом. Стыдно уж, вроде взрослые люди. В-третьих, я дал
>совет, прислушиваться или нет - дело каждого.Человек пока не может настроить банальнейшие вещи, не описанные разве что на стенах, а Вы тут о красоте речь ведете. Такое чувство, что настройка natd отличается от настройки ipnat как астрология от арифметики.
server# netstat -r
Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
default XXX.XXX.XXX.70 UGS 0 121 tun0
XXX.XXX.XXX.70 YYY.YYY.YYY.YYY UH 0 10 tun0
localhost localhost UH 0 0 lo0
YYY.YYY.YYY.YYY localhost UH 0 0 lo0
192.168.1.0 link#1 UC 0 0 vr0
renata (мак адрес) UHLW 1 169 vr0 1188
XXX.XXX.XXX-ДНС провайдера
YYY.YYY.YYY.YYY - внеш. айпи
подключение pppoe.Удивительно, но сегодня включил сервер, а клиент уже ничего не пингует( даже ДНС). со вчерашнего вечера не трогал, а клиент пинговал ДНС. странно все(((
IPFW уже 5 раз поменял. пожалуйста не пишите о том что много повторов, я сам знаю, я просто Очень психовал и вписывал много правил, и так теперь фаервол пропускает все.
fw="/sbin/ipfw -q"
inif="vr0"
outif="tun0"
inip="192.168.1.3"
outip="333.333.333.333"
innet="192.168.1.0/24"
#######timur="192.168.1.1"
${fw} -f flush
${fw} - table 0 flush
${fw} table 0 add 192.168.1.1
${fw} table 0 add 192.168.1.2
###
${fw} - table 3 flush
${fw} table 3 add XXX.XXX.XXX.69
${fw} table 3 add XXX.XXX.XXX.70
${fw} table 3 add XXX.XXX.XXX.4
${fw} table 3 add XXX.XXX.XXX.2
###
${fw} add allow all from any to any established
${fw} add allow all from any to any setup
${fw} add allow udp from any to any via tun0
${fw} add allow all from any to any via lo0
#${fw} add deny log all from any to 127.0.0.0/8
#${fw} add deny log all from 127.0.0.0/8 to any
#${fw} add deny log ip from any to 169.254.0.0/16 in via ${outif}
#${fw} add deny log ip from any to 0.0.0.0/8 in via ${outif}
#${fw} add deny log ip from any to 192.168.1.0/16 in via ${outif}
#${fw} add deny log ip from any to 12.16.0.0/12 in via ${outif}
#${fw} add deny log ip from any to 10.0.0.0/8 in via ${outif}
#${fw} add deny log ip from any to 240.0.0.0/4 in via ${outif}
#${fw} add deny log icmp from any to any frag
#####${fw} add deny log icmp from any to 255.255.255.255 in via ${outif}
#####${fw} add deny log icmp from any to 255.255.255.255 out via ${outif}
###
${fw} add allow tcp from any to XXX.XXX.XXX.4 53 out via tun0 setup keep-state
${fw} add allow udp from any to XXX.XXX.XXX.4 53 out via tun0 keep-state
${fw} add allow tcp from any to XXX.XXX.XXX.2 53 out via tun0 setup keep-state
${fw} add allow udp from any to XXX.XXX.XXX.2 53 out via tun0 keep-state
${fw} add allow tcp from any to XXX.XXX.XXX.4 53 out via tun0 setup keep-state
${fw} add allow udp from any to XXX.XXX.XXX.4 53 out via tun0 keep-state
${fw} add allow tcp from any to XXX.XXX.XXX.4 53 out via tun0 setup keep-state
${fw} add allow udp from any to XXX.XXX.XXX.4 53 out via tun0 keep-state
${fw} add allow tcp from any to XXX.XXX.XXX.2 53 out via tun0 setup keep-state
${fw} add allow udp from any to XXX.XXX.XXX.2 53 out via tun0 keep-state
${fw} add allow all from any to any 53
${fw} add allow all from any 53 to any
${fw} add allow all from any to any 123
${fw} add allow all from any 123 to any
${fw} add allow all from any to any
${fw} add allow igmp from {outip} to 224.0.0.9 out via tun0
${fw} add allow igmp from {outip} to 224.0.0.9 in via tun0
###
${fw} add divert natd all from any to any out via tun0
${fw} add divert natd all from any to any in via tun0
${fw} add divert natd all from 192.168.1.1 to any out via ${outif}
${fw} add divert natd all from 192.168.1.2 to any out via ${outif}
${fw} add divert natd all from any to ${outip} in via ${outif}
${fw} add divert from any to any via external_if
#
${fw} add allow tcp from any to any via ${outif} established
${fw} add allow tcp from {outip} to any out via {outif}
${fw} add allow igmp from {outip} to any in via {outif}
${fw} add allow tcp from ${inip}, ${outip} to any out xmit ${outif} setup
${fw} add allow all from ${innet} to any out via ${inif}
${fw} add allow all from any to ${innet} in via ${inif}
${fw} add allow icmp from any to any icmptypes 0,3,8,11
#${fw} add reset log tcp from any to any 113 in recv ${outif}
#
${fw} add allow udp from ${outip} to any out via ${outif}
${fw} add allow udp from any to ${outip} 53 in via ${outif}
${fw} add allow udp from any 53 to ${outip} in via ${outif}
${fw} add allow udp from any 123 to ${outip} in via ${outif}
###
${fw} add allow udp from ${outip} to any out via ${inif}
${fw} add allow udp from any to ${outip} 53 in via ${inif}
${fw} add allow udp from any 53 to ${outip} in via {inif}
${fw} add allow udp from any 123 to ${outip} in via ${inif}
${fw} add allow udp from any to any
###
#
${fw} add allow udp from 192.168.1.1 to any 53
${fw} add allow udp from any 53 to 192.168.1.1
${fw} add allow udp from 192.168.1.1 to any 123
${fw} add allow udp from any 123 to 192.168.1.1
#
${fw} add allow tcp from any to ${outip} 53 in via ${outif} setup
${fw} add allow tcp from any to ${outip} 80 in via ${outif} setup
#
${fw} add allow tcp from table\(0\) to ${outip} 555 in via ${outif} setup
#
####${fw} add allow tcp from table\(2\) 1024-65535 to ${timur} 3389 in via ${outip}
####${fw} add allow tcp from table\(2\) 1024-65535 to ${timur} 3389 out via ${inif}
####${fw} add allow tcp from ${timur} 3389 to table\(2\) 1024-65535 in via ${inif}
####${fw} add allow tcp from ${timur} 3389 to table\(2\) 1024-65535 out via ${outif}
#
${fw} add allow tcp from ${innet} to any in via ${inif}
${fw} add allow tcp from any to ${innet} out via ${inif}
${fw} add allow tcp from any 20 to ${innet} in via ${outif}
###
${fw} add allow tcp from any to table\(3\) 53 out via tun0 setup keep-state
${fw} add allow udp from any to table\(3\) 53 out via tun0 keep-state
###
${fw} add 65534 deny log all from any to any/etc/natd.conf
same_ports yes
use_sockets yes
log yes
log_denied yes
unregistered_only yes
dynamic yesdefaultrouter я поменял, написал как в netstat -r. но у меня каждый раз по разному пишет:
то XXX.XXX.XXX.69, то XXX.XXX.XXX.70
если pppoe то было-бы неплохо показать его настройки...
>если pppoe то было-бы неплохо показать его настройки.../etc/ppp/ppp.conf
default:
set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)# Ensure that "device" references the correct serial port
# for your modem. (cuad0 = COM1, cuad1 = COM2)
#
set device PPPoE:vr0# set speed 115200
# set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
# \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
set timeout 180 # 3 minute idle timer (the default)
enable dns # request DNS info (for resolv.conf)#papchap:
#
# edit the next three lines and replace the items in caps with
# the values which have been assigned by your ISP.
#dom:
set authname ********
set authkey ********
set login
add default HISADDR
set dns XXX.XXX.XXX.2
set ifaddr 0 0 255.255.255.255 0.0.0.0
add default HISADDR # Add a (sticky) default route
Слушай ... попробуй сделать проще ... убери фаервол и начни скрипт с начало и по шагам проверяй себя ..
>Слушай ... попробуй сделать проще ... убери фаервол и начни скрипт с
>начало и по шагам проверяй себя ..я так и думал что у тебя шняга типа ppp
первое что нужно сделать - это нормально поднять туннель
открываешь польность фаревол (дайвер пока не нужен)
поднимаешь тунельный интерфейс - у убеждаешься что все робит - я предпочитаю mpdмм еще нашел не состыковку сходу
твой фаревол:
inif="vr0" <- внутренний интерфейс
outif="tun0"конфига ппп демана
set device PPPoE:vr0 <- явно косяк - не может pppoe подниматся на внутреннем интерфейсе )
>мм еще нашел не состыковку сходу
>
>твой фаревол:
>inif="vr0" <- внутренний интерфейс
>outif="tun0"
>
>конфига ппп демана
>set device PPPoE:vr0 <- явно косяк - не может pppoe подниматся на
>внутреннем интерфейсе )server# ifconfig
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=2808<VLAN_MTU,WOL_UCAST,WOL_MAGIC>
ether **:**:**:**:**:**
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
inet ХХХ.ХХХ.ХХХ.ХХХ --> YYY.YYY.YYY.70 netmask 0xffffffff
Opened by PID 311
т.е. сам pppoe поднят на tun0. просто у меня на сервере только одна сетевая карточка, и все компы соединены ч/з свитч( в том числе и провайдер). так если есть несостыковка, то как тогда на сервере инет работает? все пингуется и nslookup работает. остается только малось - чтобы на клиенте инет тоже заработал.
>[оверквотинг удален]
>
>tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
> inet ХХХ.ХХХ.ХХХ.ХХХ --> YYY.YYY.YYY.70 netmask 0xffffffff
> Opened by PID 311
>
>т.е. сам pppoe поднят на tun0. просто у меня на сервере только
>одна сетевая карточка, и все компы соединены ч/з свитч( в том
>числе и провайдер). так если есть несостыковка, то как тогда на
>сервере инет работает? все пингуется и nslookup работает. остается только малось
>- чтобы на клиенте инет тоже заработал.вы молодой человек ацки жжоте!
воткните вторую сетевуху и не парте людям мозг и не отнимайте драгоценное время на обсуждение бредовых схем и идей!!!
гейтвей роутер на одной сетевухе есть бред неимоверный
>вы молодой человек ацки жжоте!
>воткните вторую сетевуху и не парте людям мозг и не отнимайте драгоценное
>время на обсуждение бредовых схем и идей!!!
>гейтвей роутер на одной сетевухе есть бред неимоверныйсерьезно нельзя поднять роутер на одной сетевухе? я почему то был уверен, что можно. неужели нет никаких способов?
>>вы молодой человек ацки жжоте!
>>воткните вторую сетевуху и не парте людям мозг и не отнимайте драгоценное
>>время на обсуждение бредовых схем и идей!!!
>>гейтвей роутер на одной сетевухе есть бред неимоверный
>
>серьезно нельзя поднять роутер на одной сетевухе? я почему то был уверен,
>что можно. неужели нет никаких способов?вам нравятся извращения?
>вам нравятся извращения?смотря что иметь ввиду извращением) не могли бы вы мне посоветовать, как поднять инет на клиентах, если у сервера одна сетевуха? (прокси не катит)
>>вам нравятся извращения?
>
>смотря что иметь ввиду извращением) не могли бы вы мне посоветовать, как
>поднять инет на клиентах, если у сервера одна сетевуха? (прокси не
>катит)еще раз - я извратом не занимаюсь )
Особенно если учесть копеешную стоимость сетевых карт. Лично я час своего рабочего времени оцениваю дороже.
>Особенно если учесть копеешную стоимость сетевых карт. Лично я час своего рабочего
>времени оцениваю дороже.т.е. вы хотите сказать, что если купить вторую сетевую карту - то сразу все заработает? (ну только изменить интерфейсы). если так, то завтра же куплю
Ну я давно не трогал FreeBSD, так что ваши эксперименты с конфигами не оценю. Но на линуксе с двумя сетевыми стандартный NAT делается одной командой, дальше остается только добавлять/убирать разрешения и пробрасывать при необходимости порты. А вот с одной сетевухой нужно очень долго извращаться для достижения результата. ЕМНИП во фре все было аналогично. В любом случае по стандартному случаю(две сетевухи, одна в инет, вторая в локалку) пруд пруди howto, а вот по извраты мало кому интересны.
>Ну я давно не трогал FreeBSD, так что ваши эксперименты с конфигами
>не оценю. Но на линуксе с двумя сетевыми стандартный NAT
>делается одной командой, дальше остается только добавлять/убирать разрешения и пробрасывать при
>необходимости порты. А вот с одной сетевухой нужно очень долго извращаться
>для достижения результата. ЕМНИП во фре все было аналогично. В любом
>случае по стандартному случаю(две сетевухи, одна в инет, вторая в локалку)
>пруд пруди howto, а вот по извраты мало кому интересны.добавлю - ваша схема принципиальна безбожно-ламерски-несекурная ибо тогда какой смысл фаревола если у вас вля локаль голой жопой торчит наружу? большинство админов использует "типовые" схемы фареволов со своими доработками и перетачивать нормально отлаженные схемы под единичные извратные задачи - никому не охота, да и муторно ибо схема получается запутанная слишком
Всем огромное спасибо, кто помогал, советовал! У меня получилось!!! дело то было в том, что строчки с divert нужно было перенести в самый верх перед разрешающими правилами!!! т.е. до natd ничего то не доходило.
ЗЫ купил еще одну сетевуху. (но мне кажется, что без нее то же бы работало, но не буду трогать))))