![]() |
помогите со шлюзом.
Вообщем настроит интернет у себя на freeBSD. Все прекрасно работает. ВОзникла необходимость в том чтобы раздовать его локалке. Прописал локалку, видеть сеть, инет работает но не раздает...
может быть я не превильно настроил pf.conf??? Я хочу открыть хотя бы полный доступ на инет. И потом ограничивать его через squid. Но до него пока долеко, потому что не получается без него. в rc.conf вроде тоже все прописал. Поднял нат. как же мне его раздать? В локалке все машины на Win XP. днс, шлюз все прописываю, но все равно не выходит. помогите мне пожайлуста. |
у меня например в rc.conf написано следующее:
firewall_enable="YES" # Set to YES to enable firewall functionality firewall_type="OPEN" # Firewall type (see /etc/rc.firewall) То есть firewall надо сделать открытого типа правда потом надо настроить правила правда я в этом не силен, сервер мне достался в наследство:) |
Tosha_l
С какими опциями собрал ядро? Что с Firewall' ом? Давай конкретней! |
options pf
options pflog вот это я дабавил в ядро. Как мне открыть теперь инет на сеть? |
Tosha_l
Ядро должно быть собрано со следующими опциями: options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT= N options IPDIVERT У тебя эти опции есть? |
нет. Этих опций у меня нету. Я добал две опции которые написал, и как я понимаю с помощью них можно использовать pf.conf для настройки, а не rc.firewall
никак не могу с этим разобраться |
Tosha_l
С pf не сталкивался. А почему через firewall не хочешь? Пингуется ли шлюз с локальных компов? Есть ли в rc.conf строка natd_interface? И какая сетевуха там указана? |
Да все пингует. Да все прописано
|
Tosha_l
Сколько сетевых интерфейсов в системе? В rc.conf есть gateway_enable="YES"? Цитата:
Можно открыть какой-нибудь сайт по адресу? (не по имени) Посмотри тему http://forum.oszone.net/thread-71884.html |
У меня работает так:
<rc.conf> gateway_enable="YES" firewall_enable="YES" firewall_type="open" # для начала, потом можно написать и вписать сюда свою конфигурацию - кого куда пускать и зачем ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0" ifconfig_xl0="inet 10.1.0.1 netmask 255.255.0.0" <в конфиге ядра> options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=1000 options IPFIREWALL_FORWARD options IPFIREWALL_FORWARD_EXTENDED options IPFIREWALL_DEFAULT_TO_ACCEPT options IPDIVERT # для NAT gf100 это ваша цитата, скажите этого достаточно для раздачи, а что вы пишете в rc.firewall или pf.conf???? |
Tosha_l
Это для работы с rc.firewall. При варианте "open" все должно запуститься без дополнительных ковыряний rc.firewall. |
А можно ведь просто скажем все открыть твоим способом, а потом закрывать уже проксёй?
Добавил я в ядро новые модули, и вот что он теперь мне пишет при загрузке: starting divert daemons: natdnatd: unknown interface name xl0 |
Tosha_l
Цитата:
natd_enable="YES" natd_interface="rl1" # это куда будут заворачиваться все пакеты - внешний интерфейс (надо писать реальный от сетевой карты) natd_flags="-u -s -m" # ключи - смотри по ситуации т.е. xl0 - в системе такого нет. Цитата:
Но, по-хорошему, NAT крайне желательно поднимать на железе - модеме, маршрутизаторе и т.п. |
а вот флаги на нат обязательно вешать?
Можно ли нат настраивать на ADSL модеме? он сейчас настроен под роутер, может быть там уже нат и стоит тогда, просто настраивал нея, как мне быть в такой ситуации? Да так и есть, я зашел через браузер по ip адрессу в модем, и увидел что там настроен нат. Как мне завернуть интернет в таком случае? |
Tosha_l
Цитата:
Цитата:
defaultrouter="ххх.ххх.ххх.ххх" - адрес модема, смотрящий во внутреннюю сетку gateway_enable="YES" #natd_enable="YES" - закомментарить! - двойной NAT это некоторый перебор, хотя работает. Если планируешь раздавать интернет со своей машины, а тем более ставить прокси, озадачься подъемом DNS-сервера. |
ничего у меня не получется, нат настроен на модеме. вот выкладываю свои конфиги:
rc.conf: # -- sysinstall generated deltas -- # Fri Feb 9 14:44:33 2007 # Created: Fri Feb 9 14:44:33 2007 # 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. defaultrouter="10.0.0.1" #font8x14="cp866-8x14" font8x16="cp866-8x16" #font8x8="cp866-8x8" hostname="BSD.moris.ru" ifconfig_xl0="inet 10.0.0.2 netmask 255.255.255.0" ifconfig_sis0="inet 192.168.0.1 netmask 255.255.255.0" GATEWAY_enable="YES" #ipv6_enable="YES" keymap="ru.koi8-r" mousechar_start="3" moused_enable="YES" scrnmap="koi8-r2cp866" usbd_enable="YES" nmbd_enable="YES" smbd_enable="YES" pf_enable="YES" pflog_enable="YES" #firewall_enable="YES" #firewall_type="OPEN" #firewall_script="/etc/firewall.sh" #natd_enable="YES" #natd_interface="xl0" #natd_flags="" sendmail_enable="NONE" #trafd_enable="YES" #trafd_ifaces="xl0 sis0" #trafd_flags="" #trafd_log="/usr/local/var/trafd.log" inetd_enable="YES" #squid_enable="YES" pf. conf: # $FreeBSD: src/etc/pf.conf,v 1.2.2.1 2006/04/04 20:31:20 mlaier Exp $ # $OpenBSD: pf.conf,v 1.21 2003/09/02 20:38:44 david Exp $ # # See pf.conf(5) and /usr/share/examples/pf for syntax and examples. # Required order: options, normalization, queueing, translation, filtering. # Macros and tables may be defined and used anywhere. # Note that translation rules are first match while filter rules are last match. # Macros: define common values, so they can be referenced and changed easily. ext_if="xl0" # replace with actual external interface name i.e., dc0 int_if="sis0" # replace with actual internal interface name i.e., dc1 int_net="192.168.0.0/24" ext_addr="10.0.0.2" # Tables: similar to macros, but more flexible for many addresses. #table <foo> { 10.0.0.0/8, !10.1.0.0/16, 192.168.0.0/24, 192.168.1.18 } # Options: tune the behavior of pf, default values are given. #set timeout { interval 10, frag 30 } #set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 } #set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 } #set timeout { udp.first 60, udp.single 30, udp.multiple 60 } #set timeout { icmp.first 20, icmp.error 10 } #set timeout { other.first 60, other.single 30, other.multiple 60 } #set timeout { adaptive.start 0, adaptive.end 0 } #set limit { states 10000, frags 5000 } #set loginterface none #set optimization normal #set block-policy drop #set require-order yes #set fingerprints "/etc/pf.os" # Normalization: reassemble fragments and resolve or reduce traffic ambiguities. scrub in all # Queueing: rule-based bandwidth control. #altq on $ext_if bandwidth 2Mb cbq queue { dflt, developers, marketing } #queue dflt bandwidth 5% cbq(default) #queue developers bandwidth 80% #queue marketing bandwidth 15% # Translation: specify how addresses are to be mapped or redirected. #nat: packets going out through $ext_if with source address $internal_net will # get translated as coming from the address of $ext_if, a state is created for # such packets, and incoming packets will be redirected to the internal address. #nat on $ext_if from $int_net to any -> ($ext_if) # rdr: packets coming in on $ext_if with destination $external_addr:1234 will # be redirected to 10.1.1.1:5678. A state is created for such packets, and # outgoing packets will be translated as coming from the external address. #rdr on $ext_if proto tcp from any to $external_addr/32 port 1234 -> 10.1.1.1 port 5678 # rdr outgoing FTP requests to the ftp-proxy #rdr on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021 # spamd-setup puts addresses to be redirected into table <spamd>. #table <spamd> persist #no rdr on { lo0, lo1 } from any to any #rdr inet proto tcp from <spamd> to any port smtp -> 127.0.0.1 port 8025 # Filtering: the implicit first two rules are pass in all pass out all # block all incoming packets but allow ssh, pass all outgoing tcp and udp # connections and keep state, logging blocked packets. #block in log all #pass in on $ext_if proto tcp from any to $ext_if port 22 keep state #pass out on $ext_if proto { tcp, udp } all keep state # pass incoming packets destined to the addresses given in table <foo>. #pass in on $ext_if proto { tcp, udp } from any to <foo> port 80 keep state # pass incoming ports for ftp-proxy #pass in on $ext_if inet proto tcp from any to $ext_if port > 49151 keep state # Alternate rule to pass incoming ports for ftp-proxy # NOTE: Please see pf.conf(5) BUGS section before using user/group rules. #pass in on $ext_if inet proto tcp from any to $ext_if user proxy keep state # assign packets to a queue. #pass out on $ext_if from 192.168.0.0/24 to any keep state queue developers #pass out on $ext_if from 192.168.1.0/24 to any keep state queue marketing |
Я не силён в pf, но для начала рекомендую поковыряться при помощи ipfw. да и вооружившись tcpdump'ом можно многое понять...
Код:
natd -a 10.1.0.1 -p 8667 Код:
ping -S 192.168.1.0 89.108.80.231 Да, предварительно отрубите pf (pf и ipfw далеко не одно и то же, а с pf нужно разбираться основательно - ipfw в этом отношении проще). Если при добавлении правил ipfw ругается, что протокол неизвестен, загружаем его через Код:
kldload /boot/kernel/ipfw.ko Код:
ipfw add 65530 allow ip from any to any Ещё не мешало бы проверить Код:
sysctl net.inet.ip.forwarding Ну и дефолт роут тоже надо бы выставить... Ну а далее методом ping и tcpdump смотрим, куда уходят наши байтики и от чего имени... |
Время: 17:24. |
Время: 17:24.
© OSzone.net 2001-