Помогите разобраться с NAT'ом для PPPoE

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
khiluck
рядовой
Сообщения: 47
Зарегистрирован: 2007-07-26 19:48:31
Откуда: Одесса

Помогите разобраться с NAT'ом для PPPoE

Непрочитанное сообщение khiluck » 2008-02-23 11:56:40

Всех с праздником!!! С днем защитника отечества!!!
Хоть у нас на Украине, долбанное правительство, которое постоянно что-то отменяет и меняет... Мы все по прежнему отмечаем этот праздник, для нас он был есть и будет! и никакие Ющенки этого не изменят... :!: :P

Вот пришел я в этот замечательный день на работу, по своей воле. Пока никого нет, можно потыкать и подергать инет. И все ж разобраться как же оно устроено :wink:
Мне помогают FreePascal и proxy-man, за что я им очень признателен. Но я немогу их постоянно терроризировать вопросами в личку, поэтому решил написать сюды. А вопрос собственно такой:
Есть провайдер Укртелеком, с соединение РРРоЕ, со стороны провайдера DHCP.
Мои конфиги:

Код: Выделить всё

server# cat /etc/rc.conf
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
keymap="ru.koi8-r"
keyrate="fast"
mousechar_start="3"
moused_enable="NO"
moused_type="NO"
saver="blank"
scrnmap="koi8-r2cp866"
sshd_enable="YES"
inetd_enable="YES"
usbd_enable="NO"
ifconfig_xl0="inet 192.168.0.250  netmask 255.255.255.0"
hostname="server.work"

ppp_enable="YES"
ppp_mode="ddial"
#ppp_nat="YES"
ppp_profile="adsl"
ppp_user="root"

#gateway_enable="YES"
#natd_enable="YES"
#natd_interface="tun0"
#natd_flags="-m"
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_type="OPEN"
firewall_logging="YES"
tcp_drop_synfin="YES"

Код: Выделить всё

server# cat /etc/ppp/ppp.conf
default:

adsl:
    set device PPPoE:rl0 
    set MTU 1492
    set MRU 1492

    set dial
    set crtscts off
    accept lqr

    disable deflate
    disable pred1
    disable vjcomp
    disable acfcomp
    disable protocomp

    set log Phase LCP IPCP CCP Warning Error Alert
    set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0
    add default HISADDR
    set login
    set authname tundra     
    set authkey tundra      
    enable dns

#   nat enable yes
#   nat log on
#   nat same_ports yes
#   nat unregistered_only yes
#   nat deny_incoming no
и что мы имеем:

Код: Выделить всё

server# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        ether 00:02:44:71:b2:f0
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=9<RXCSUM,VLAN_MTU>
        inet 192.168.0.250 netmask 0xffffff00 broadcast 192.168.0.255
        ether 00:04:76:99:5b:a6
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 80.90.231.66 --> 80.90.236.2 netmask 0xffffffff
        Opened by PID 320

Код: Выделить всё

server# ping www.ua
PING nic.net.ua (193.239.250.34): 56 data bytes
64 bytes from 193.239.250.34: icmp_seq=0 ttl=57 time=21.968 ms
64 bytes from 193.239.250.34: icmp_seq=1 ttl=57 time=18.646 ms
64 bytes from 193.239.250.34: icmp_seq=2 ttl=57 time=23.343 ms
^C
--- nic.net.ua ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 18.646/21.319/23.343/1.972 ms
Все работает и все отлично, НО. У меня задача поднять нат, и как только я разкоментирую строчки. то не только ната, но и ваще инета нету :mrgreen: Помогите разобраться что к чему, плиз... :oops:
(\__/)
(='.' =)
E[:]|||||[:]З
(")_(")

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
InventoR
ст. лейтенант
Сообщения: 1344
Зарегистрирован: 2006-12-10 19:43:25
Контактная информация:

Re: Помогите разобраться с NAT'ом для PPPoE

Непрочитанное сообщение InventoR » 2008-02-23 14:14:03

ну для начала ядро должно содержать:

Код: Выделить всё

optionss ipfirewall
optionss ipfirewall_verbose
optionss ipfwfiewall_verbose_limit 1000
optionss ipdivert
потом

Код: Выделить всё

mail# cat /etc/rc.conf |grep natd
natd_program="/sbin/natd"       # path to natd, if you want a different one.
natd_enable="YES"               # Enable natd (if firewall_enable == YES).
natd_interface="tun0"            # Public interface or IPaddress to use.
natd_flags="-dynamic"                   # Additional flags for natd.
mail#
и в ipfw строки должны быть

Код: Выделить всё

ipfw add divert natd all from any to any via tun0
при чем диверт должен быть до разрешения прохождения трафика. более детально читай man.
вот самый мелкий набор того что надо.
у самого телеком дома. сервер стоит сейчас далеко и все нормально работает.

все остальные вкусности на своё усмотретние.
можеш еще поколупать скрипты ната чтобы он запускался после поднятия ppp.
Да, вот тебе еще мой конф от pppoe

Код: Выделить всё

cat /etc/ppp/ppp.conf
adsl:
  set device PPPoE:ed0:ukrtelecom
  disable IPV6CP
  disable acfcomp
  disable protocomp
  disable deflate
  disable pred1
  disable vjcomp
  enable lqr
  set cd 15
  set dial
  set login
  set redial 0 0
  set mru 1492
  set mtu 1492
  set speed sync
  add default HISADDR
  set authname ****
  set authkey *****
вот тут добавлено еще такое

Код: Выделить всё

router# cat /etc/ppp/ppp.linkup
adsl:
    iface clear

router#

linkup нужен чтобы очищался старый интерфейс после разрыва.
а то в своё время плодились интерфейсы tun

чтобы твой ppp стартовал при загрузке и сам реконктился при разрыве при этом конфе что у меня вот еще кусок

Код: Выделить всё

router# cat /etc/rc.conf | grep ppp
ppp_enable="YES"
ppp_program="/usr/sbin/ppp"
ppp_mode="ddial"
ppp_profile="adsl"
ppp_user="root"
router#
ну вот и сказочке конец, кто слушал, тот молодец.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Помогите разобраться с NAT'ом для PPPoE

Непрочитанное сообщение dikens3 » 2008-02-23 23:41:39

set log Phase LCP IPCP CCP Warning Error Alert command
Что в логах после добавления command?
У меня примерно следующее:
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: set mru 1492
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: set mtu 1492
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: enable lqr
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: set lqrperiod 10
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: enable lqr echo
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: enable echo
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: set dial
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: set login
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: set timeout 0
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: set redial 0 0
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: add default HISADDR
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: nat enable yes
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: nat log no
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: nat same_ports yes
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: nat unregistered_only yes
Oct 11 22:19:23 server ppp[1220]: tun0: Command: Internet: nat deny_incoming yes
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.