Настройки считать верными для FreeBSD
4.4-STABLE и RedHat 6.x (и его клонов).
Настройка mgetty
Аналогом COM1 является /dev/ttyS0 (Linux),
/dev/cuaa0 (FreeBSD). COM2 - /dev/ttyS1, /dev/cuaa1 и т.д.
mgetty должен быть собран с опцией -DAUTO_PPP. Конфигурационные
файлы находятся в директории mgetty+sendfax.
Раскоментировать строчку /AutoPPP/ в login.config:
/AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login debug
Для новых версий pppd эта строчка выглядит так:
/AutoPPP/ - a_ppp /usr/sbin/pppd auth refuse-chap require-pap login debug
Файл mgetty.config должен содержать примерно следующее:
port cuaa0
debug 4
fax-id 00 00 000000
speed 57600
direct NO
blocking NO
port-owner uucp
port-group dialer
port-mode 0660
toggle-dtr YES
toggle-dtr-waittime 500
data-only YES
fax-only NO
modem-type data
init-chat "" ATZ OK
modem-check-time 3600
rings 7
answer-chat "" ATA CONNECT c r
answer-chat-timeout 80
autobauding NO
ringback NO
ringback-time 30
ignore-carrier false
issue-file /etc/issue
prompt-waittime 500
login-prompt @!login:
login-time 240
diskspace 1024
notify root
fax-owner uucp
fax-group dialer
fax-mode 0660
nologin.cuaaX
Если нужно, чтобы модем не поднимал трубку
в определенное время, то можно по крону создавать nologin.cuaaX в
директории etc, где X номер порта.
options
modem
asyncmap 0
mtu 576
idle 600
options.cuaa0
passive
10.0.0.1:10.0.0.2
proxyarp
ms-dns 10.0.0.1
pap-secrets
Пароль пользователя max берется из системы
и разрешена любая линия.
max * "" *
Пароль пользователя max указан явно (не зашифрован) и доступ возможен только с двух линий.
max * asdfg 10.0.0.2 10.0.0.3
Настройка Linux (pppd)
В файле /etc/inittab прописываем запуск
mgetty:
S0:2345:respawn:/sbin/mgetty ttyS0
S1:2345:respawn:/sbin/mgetty ttyS1
Если при подъеме ppp в /var/log/messages
появляются такие строчки:
modprobe: Can't locate module ppp-compress-21
modprobe: Can't locate module ppp-compress-24
modprobe: Can't locate module ppp-compress-26
Нужно добавить в /etc/{modules.conf|conf.modules}:
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
Для прохождения пакетов между интерфейсами, нужно включить форвардинг пакетов /etc/sysctl.conf:
net/ipv4/ip_forward = 1
Если используется диапазон адресов из приватной сети (в нашем случае), то пакеты идущие от интерфейса ppp0 нужно маскировать. Маскарадинг с помощью ipchains:
# /sbin/ipchains -F
# /sbin/ipchains -P forward DENY
# /sbin/ipchains -A forward -j MASQ -s 10.0.0.0/255.0.0.0 -d 0.0.0.0/0
Маскарадинг с помощью iptables:
# /sbin/iptables -P FORWARD ACCEPT
# /sbin/iptables -A FORWARD -i ppp0 -m state --state NEW,INVALID -j REJECT
# /sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Настройка FreeBSD (pppd)
В файл /etc/ttys добавим запуск mgetty:
cuaa0 "/usr/local/sbin/mgetty" unknown on insecure
Ядро должно быть регенерировано с options IPFIREWALL и IPDIVERT. Подразумевается, что интерфейс ed0 смотрит в мир. Файл /etc/rc.conf должен содержать:
gateway_enable="YES"
firewall_enable="YES"
firewall_type="open"
natd_enable="YES"
nat_interface="ed0"
А в /etc/rc.local добавим alias для интерфейса ed0 (подразумевается, что в сервере всего один интерфейс, который имеет реальный адрес), чтобы использовать proxyarp.
/sbin/ifconfig ed0 alias 10.1.1.1
Проверяем
Если адрес ppp-соединения входит в туже
подсеть и используется proxyarp, то мы увидим перманентное соединение
с помощью команды arp -a.
Нажмите здесь, чтобы получить ссылки на статью
Добавлено 19.01.2003 (20:41)
Нет комментариев