3G + nat + dns relay
Filed Under Linux
Не так давно была необходимость настроить интернет от Интертелекома. Использовался USB модем Sierra 595U.
Сперва проверяем распознался ли модем:
tail -f /var/log/messages
Дальше производим настройку дозвона. Можно использовать как pppconfig, так и wvdial.
wvdial.conf
[Modem0]
Modem=/dev/ttyUSB0
Baud=115200
SetVolume=0
Dial Command =ATDT
init1=ATZ
init2=AT+CRM=1
FlowControl=Hardware (CRTSCTS)
[Dialer IT]
Username=IT
Password=IT
Phone=#777
Stupid Mode=1
Inherits=Modem0
Check Def Route
Ниже привожу настройку nat для iptables. Скрипт тривиальный, но нужно учесть,что вначале сбрасываются правила iptbales. Можно активировать его при поднятии интерфейса.
#!/bin/bash
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chainecho 1 > /proc/sys/net/ipv4/ip_forward
internal=eth0
external=ppp0
/sbin/iptables -t nat -A POSTROUTING -o ${external} -j MASQUERADE
/sbin/iptables -A FORWARD -i ${external} -o ${internal} -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i ${internal} -o ${external} -j ACCEPT
Можно проверить как это работает, подсоединив вторую машину через сеть и пропинговать внешний хост по IP адресу.
В дальнейшем сделаем проброс DNS запросов. Используется bind.
/etc/bind/named.conf
options {
directory “/var/cache/bind”;
allow-query { any; };
allow-recursion { any; };
query-source address * port 53;forwarders {
172.17.0.5;
};auth-nxdomain no;
listen-on-v6 { any; };
};
