Шлюза freebsd нет интернета

BSDPORTAL.RU

FreeBSD 8: PF NAT. Клиент не получает интернет.

Люди, помогите пожалуйста разобраться.

Есть комп с двумя сетевухами: ed0 и nfe0.
От провайдера витая пара идет в nfe0, командой

подключаюсь до интернета.
Проблема в том, что клиентская машина не получает инет.

на шлюзе:
ifconfig

# ifconfig
ed0: flags=8843 metric 0 mtu 1500
ether 00:00:21:ef:78:62
inet 10.10.10.1 netmask 0xffff0000 broadcast 10.10.255.255
media: Ethernet autoselect (10baseT/UTP)
nfe0: flags=8843 metric 0 mtu 1500
options=8
ether 00:1b:fc:33:4e:43
inet x.x.x.x netmask 0xfffff000 broadcast 200.200.207.255
media: Ethernet autoselect (100baseTX )
status: active
plip0: flags=8810 metric 0 mtu 1500
lo0: flags=8049 metric 0 mtu 16384
options=3
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
pflog0: flags=141 metric 0 mtu 33152
pfsync0: flags=0<> metric 0 mtu 1460
syncpeer: 224.0.0.240 maxupd: 128
tun0: flags=8051 metric 0 mtu 1450
inet x.x.x.x —> y.y.y.y netmask 0xffffffff
Opened by PID 1350

# cat /etc/pf.conf
#interface looks on ISP
ext_if=»tun0″

#interface looks on LAN
int_if=»ed0″

#NAT rule
nat on $ext_if from $internal_net to any -> ($ext_if)

[b]ifconfig[/b]
rl0: flags=8843 metric 0 mtu 1500
options=8
ether 00:e0:4c:63:d6:29
inet 10.10.10.2 netmask 0xffff0000 broadcast 10.10.255.255
media: Ethernet autoselect (100baseTX )
status: active
plip0: flags=8810 metric 0 mtu 1500
lo0: flags=8049 metric 0 mtu 16384
options=3
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
nd6 options=3
# [b]ping 10.10.10.1[/b]
PING 10.10.10.1 (10.10.10.1): 56 data bytes
64 bytes from 10.10.10.1: icmp_seq=0 ttl=64 time=0.869 ms
64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=0.541 ms
64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=0.534 ms
^C
— 10.10.10.1 ping statistics —
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.534/0.648/0.869/0.156 ms

[b]netstat -rn[/b]
Routing tables

Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.10.10.1 UGS 0 33 rl0
10.10.0.0/16 link#1 U 2 160 rl0
10.10.10.2 link#1 UHS 0 0 lo0
127.0.0.1 link#3 UH 0 0 lo0

Internet6:
Destination Gateway Flags Netif Expire
::1 ::1 UH lo0
fe80::%lo0/64 link#3 U lo0
fe80::1%lo0 link#3 UHS lo0
ff01:3::/32 fe80::1%lo0 U lo0
ff02::%lo0/32 fe80::1%lo0 U lo0

в resolv.conf клиента прописаны днсы провайдера.

defaultrouter=»10.10.10.1″
ifconfig_rl0=»10.10.10.2 netmask 255.255.0.0″
router_enable=»YES»

Читайте также:  Сети интернета в шотландии

# [b]ipfw show[/b]
00100 5069 490768 allow ip from any to any
00101 0 0 allow icmp from any to any
65535 0 0 deny ip from any to any

Помогите, пожалуйста. я уже не соображаю. =(

_________________
Ignoscito saepe alteri nunquam tibi.
я искал свое место по следам на снегу. мне ли не знать, как не хватает тепла этим большим городам?

Последний раз редактировалось Ледяной_Кот Чт 19 авг, 2010 1:07 pm, всего редактировалось 2 раз(а).

попробуйте пингануть яндекс с серым сорсом.

pf для ната, ipfw для файрвола на будущее.
извиняюсь конечно, но как понять с серым сорсом?

не знаю, что именно сделала, но внешка начала с клиента пинговаться.
появилась другая проблема: не работает днс.
http://www.ignix.ru/public/daemon/easy-nat-pf
по вот этому ману прописала
echo ‘named_enable=»YES»‘ >> /etc/rc.conf
и
listen-on < 127.0.0.1; 10.10.10.1;>;
forwarders < 127.0.0.1; 10.10.10.1;>;
в named.conf

как вот тут http://unix.derkeiler.com/Newsgroups/co . 00024.html сделала
pass in quick on $ext_if proto udp from any to $server port 53
keep state
pass out quick on $ext_if inet proto udp all keep state
pass out quick on $ext_if inet proto icmp from any to any keep state,

в ipfw добавила allow udp from any to any keep state. все равно нету пинга по имени и пинга да днсы провайдера. неужели нет другого способа, кроме как поднимать свой named?
может ли быть причина в том, что днсы провайдера находятся в 255.255.240.0 подсети, а мой шлюз в 255.255.0.0?
помогите, пожалуста.

_________________
Ignoscito saepe alteri nunquam tibi.
я искал свое место по следам на снегу. мне ли не знать, как не хватает тепла этим большим городам?

_________________
Ignoscito saepe alteri nunquam tibi.
я искал свое место по следам на снегу. мне ли не знать, как не хватает тепла этим большим городам?

Хосподи, у вас все в куче. Во-первых, когда выгладываете конфиги, то белый ИП лучше стереть))) Во-вторых, вы в будующем планируете раздавать инет на 1000 ПК? Зачем вам ipfw? Если хотите сделать правильно, то либо pf, либо ipfw+ipnat (ИМХО). Трассировка от клиента где тормозится? Что показывает ping -S 10.10.10.1 ya.ru?

ЗЫ bind для резолвинга поднимать необязательно, сойдут и ДНСы провайдера.

ДНСы прова пингуются с клиента

Читайте также:  Теле2 безлимитный интернет нет скорости

nslookup ya.ru с клиента че говорит?

Источник

unixforum.org

Хочу на десктопе FreeBSD поднять wireless Access Point. Десктоп присоеденен до роутера по LAN через re0. Текущие настройки:

interface=wlan0 debug=1 ctrl_interface=/var/run/hostapd ctrl_interface_group=wheel ssid=freebsdapp wpa=2 wpa_passphrase=freebsdapp wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP TKIP
hostname="borys" wlan_wep_load="YES" wlan_tkip_load="YES" wlan_ccmp_load="YES" wlan_xauth_load="YES" wlan_acl_load="YES" ifconfig_re0="DHCP" gateway_enable="YES"
subnet 192.168.77.0 netmask 255.255.255.0
# ifconfig wlan0 create wlandev rum0 wlanmode hostap # ifconfig wlan0 inet 192.168.77.1 netmask 255.255.255.0 # /etc/rc.d/hostapd onerestart Starting hostapd. Configuration file: /etc/hostapd.conf Using interface wlan0 with hwaddr 00:1e:58:a4:6a:30 and ssid 'freebsdapp' # dhcpd wlan0 Internet Systems Consortium DHCP Server 4.2.4-P2 Copyright 2004-2012 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Wrote 3 leases to leases file. Listening on BPF/wlan0/00:1e:58:a4:6a:30/192.168.77.0/24 Sending on BPF/wlan0/00:1e:58:a4:6a:30/192.168.77.0/24 # ifconfig re0: flags=8843 metric 0 mtu 1500 options=8209b ether 28:92:4a:2a:06:b5 inet 192.168.19.135 netmask 0xffffff00 broadcast 192.168.19.255 nd6 options=29 media: Ethernet autoselect (100baseTX ) status: active pflog0: flags=0<> metric 0 mtu 33152 nd6 options=29 pfsync0: flags=0<> metric 0 mtu 1500 nd6 options=29 syncpeer: 0.0.0.0 maxupd: 128 lo0: flags=8049 metric 0 mtu 16384 options=600003 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6 inet 127.0.0.1 netmask 0xff000000 nd6 options=21 rum0: flags=8843 metric 0 mtu 2290 ether 00:1e:58:a4:6a:30 nd6 options=29 media: IEEE 802.11 Wireless Ethernet autoselect mode 11g status: running wlan0: flags=8843 metric 0 mtu 1500 ether 00:1e:58:a4:6a:30 inet 192.168.77.1 netmask 0xffffff00 broadcast 192.168.77.255 nd6 options=29 media: IEEE 802.11 Wireless Ethernet autoselect mode 11g status: running ssid freebsdapp channel 6 (2437 MHz 11g) bssid 00:1e:58:a4:6a:30 country US authmode WPA2/802.11i privacy MIXED deftxkey 2 TKIP 2:128-bit txpower 0 scanvalid 60 protmode CTS dtimperiod 1 -dfs

Интернет на десктопе присутствует, клиенты получають IP адреса, шлюз пингуеться, интернет или DNS 8.8.8.8 — не пингуеться.

Источник

Шлюз в интернет на FreeBSD за полчаса

Допустим у нас встала задача быстро развернуть шлюз да выхода в интернет небольшой сети (домашней или небольшого офиса) . Фактически задача сводится к установке операционной системы и развёртывании DHCP, DNS и NAT. Далее будет показано как можно быстро и легко решить эту задачу используя ОС FreeBSD 8.0.

Для начала нужно установить ОС на сервер. Ставить систему можно даже с bootonly CD докачивая необходимое по сети. Нужно поставить только самый минимум. Допустим что у сервера два интерфейса: le0, который «смотрит» в интернет и em0, к которому подключена локальная сеть. В локальной сети мы будем использовать пространство 172.31.255.0/24, причём первый адрес (172.31.255.1) будет использоваться сервером.

Читайте также:  Мобильный интернет через вай фай от ноутбука

Первым делом нужно добавить в файл /etc/rc.conf строку:

Эта строка при загрузке сервера разрешает пересылку IP-пакетов. Без неё не возможно использование сервера в качестве маршрутизатора. Чтобы это изменение вступило в силу до перезагрузки нужно выполнить команду:

sysctl net.inet.ip.forwarding=1

Следующим шагом сконфигурируем DNS. Сначала нужно в файле /etc/namedb/named.conf заменить строку:

После этого разрешим запуск DNS-сервера добавив в /etc/rc.conf строку:

Проверить работу DNS-сервера можно командой:

nslookup www.ylsoftware.com 127.0.0.1

В случае нормальной работы DNS вывод должен выглядеть примерно вот так:

Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: www.ylsoftware.com Address: 89.108.78.131

Затем установим DHCP-сервер:

/usr/ports/net/isc-dhcp31-server && make install clean

Далее создадим файл /usr/local/etc/dhcpd.conf следующего содержания:

default-lease-time 600; max-lease-time 7200; ddns-update-style none; log-facility local7; subnet 172.31.255.0 netmask 255.255.255.0

Конфигурация DHCP-сервера более подробно уже была рассмотрена ранее и сейчас останавливаться на ней мы не будем. Для запуска DHCP-сервера нужно добавить в /etc/rc.conf строки:

dhcpd_enable="YES" dhcpd_ifaces="em0" dhcpd_flags="-q"
/usr/local/etc/rc.d/isc-dhcpd start

Теперь осталось только настроить пакетный фильтр. Из всего многообразия оных во FreeBSD выберем pf. Создадим файл /etc/pf.rules следующего содержания:

# Базовые настройки if_ext = "le0" if_int = "em0" net_int = "172.31.255.0/24" set block-policy drop set state-policy if-bound scrub all reassemble tcp fragment reassemble # NAT для локальной сети nat pass on $if_ext from $net_int -> ($if_ext) static-port # Запрещаем весь лишний трафик block drop all # Разрешаем всё на loopback-интерфейсе pass quick on lo0 all # Разрешаем исходящий трафик pass out quick on $if_ext inet proto tcp from ($if_ext) to any flags S/SA keep state pass out quick on $if_ext inet proto < udp, icmp >from ($if_ext) to any keep state pass out quick on $if_int from ($if_int) to $net_int # Разрешем любой трафик со стороны локальной сети pass in quick on $if_int from $net_int to any keep state

Добавляем в /etc/rc.conf строки:

pf_enable="YES" pf_rules="/etc/pf.rules"

Запускаем пакетный фильтр:

Теперь компьютеры в локальной сети смогут получать сетевые настройки по DHCP и спокойно выходить в сеть. На этом всё. Приятной работы!

Источник

Оцените статью
Adblock
detector