кому интересно - вот что делаем
на линуксе делаем
passw - пароль, essid_name - имя сети, channel_name - номер свободного канала
iwconfig interface mode Ad-Hock iwconfig interface key s:passw iwconfig interface essid essid_name iwconfig interface channel channel_name
дальше поднимаем интерфейс
ifconfig interface 192.168.0.1
Теперь он виден в списке сетей таблетки - подключаемся к нему.
Заходим в рутовую консоль (можно через ssh, можно прям на таблектке) делаем
ifconfig
оттуда выдираем интерфейс/псевдоинтерфейс. обычно это - wlan1:0
пишем ifconfig wlan1:0 192.168.0.2
теперь надо обновить dns -
добавляем в /etc/resolv.conf на таблеке тоже самое, что и в /etc/resolv.conf на ноуте. теперь днс у нас прописал.
теперь добавляем роуты на таблеке -
route add default gw 192.168.0.1
Осталось настроить маршрутизацию на линукс десктопе - пишем вот это
#!/bin/sh #---------------------------------------------------------------# /sbin/modprobe ip_tables /sbin/modprobe ip_conntrack /sbin/modprobe iptable_filter /sbin/modprobe iptable_mangle /sbin/modprobe iptable_nat /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_conntrack_irc /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_nat_irc
#--------------------------------------------------------------#
echo "1" > /proc/sys/net/ipv4/ip_forward
#--------------------------------------------------------------# IPTABLES="/sbin/iptables" IFCONFIG="/sbin/ifconfig"
#-------------------------------------------------------------#
KPK_IP="192.168.0.2" #-------------------------------------------------------------#
INT_IFACE="eth2" INT_IP=`$IFCONFIG $INT_IFACE | grep inet | cut -d : -f 2 | cut -d \ -f 1`
#------------------------------------------------------------#
EXT_IFACE="eth0" EXT_IP=`$IFCONFIG $EXT_IFACE | grep inet | cut -d : -f 2 | cut -d \ -f 1`
#------------------------------------------------------------# LO_IFACE="lo" LO_IP="127.0.0.1"
TCP_PORTS="53" UDP_PORTS="53"
#------------------------------------------------------------#
StartService() {
$IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F $IPTABLES -X $IPTABLES -t nat -X $IPTABLES -t mangle -X
#-----------------------------------------------------------# $IPTABLES -N KPK_IN $IPTABLES -N KPK_OUT
$IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD DROP
#------------------------------------------------------------#
#------------------------------------------------------------# $IPTABLES -A INPUT -i $EXT_IFACE -p icmp --icmp-type echo-reply -j ACCEPT $IPTABLES -A INPUT -i $EXT_IFACE -p icmp --icmp-type destination-unreachable -j ACCEPT $IPTABLES -A INPUT -i $EXT_IFACE -p icmp --icmp-type echo-request -j ACCEPT $IPTABLES -A INPUT -i $EXT_IFACE -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
#------------------------------------------------------------#
$IPTABLES -t mangle -A PREROUTING -i $INT_IFACE -j TTL --ttl-inc 1
#------------------------------------------------------------# $IPTABLES -A INPUT -m state --state INVALID -j DROP $IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #------------------------------------------------------------#
$IPTABLES -A INPUT -i $EXT_IFACE -p tcp --dport 21 -j ACCEPT $IPTABLES -A INPUT -i $EXT_IFACE -p tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_IFACE -p tcp --dport 6882 -j ACCEPT $IPTABLES -A INPUT -i $EXT_IFACE -p tcp --dport 3306 -j ACCEPT $IPTABLES -A INPUT -i $LO_IFACE -p tcp --dport 3306 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_IFACE -p tcp --dport 6881 -j ACCEPT $IPTABLES -A INPUT -i $EXT_IFACE -p tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -p ALL -s $KPK_IP -j ACCEPT
$IPTABLES -A INPUT -i $INT_IFACE -p udp --dport 0:35000 -j ACCEPT # inbound traceroute $IPTABLES -A INPUT -i $INT_IFACE -p tcp --dport 0:64000 -j ACCEPT # passive ftp
$IPTABLES -A INPUT -p ALL -i $EXT_IFACE -j DROP
$IPTABLES -A INPUT -i $INT_IFACE -p udp --dport 0:35000 -j ACCEPT # inbound traceroute $IPTABLES -A INPUT -i $INT_IFACE -p tcp --dport 0:64000 -j ACCEPT # passive ftp
$IPTABLES -A INPUT -p ALL -i $EXT_IFACE -j DROP
#-------------------------------------------------------------# #-------------------------------------------------------------#
$IPTABLES -A OUTPUT -o $LO_IFACE -j ACCEPT $IPTABLES -A OUTPUT -s $KPK_IP -j ACCEPT
# $IPTABLES -A OUTPUT -o $EXT_IFACE -j ACCEPT
#-------------------------------------------------------------# # Forward
#-------------------------------------------------------------# $IPTABLES -A FORWARD -s $KPK_IP -j KPK_OUT $IPTABLES -A FORWARD -d $KPK_IP -j KPK_IN
#--------------------------------------------------------------# $IPTABLES -A FORWARD -p ALL -s $KPK_IP -j ACCEPT
$IPTABLES -A FORWARD -p ALL -d $KPK_IP -j ACCEPT
# $IPTABLES -A FORWARD -i $EXT_IFACE -o $INT_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT # $IPTABLES -A FORWARD -i $INT_IFACE -o $EXT_IFACE -j ACCEPT
$IPTABLES -A FORWARD -j DROP
$IPTABLES -t nat -A POSTROUTING -p ALL -s $KPK_IP -j SNAT --to-source $EXT_IP
echo $EXT_IP $EXT_IFACE $INT_NET $INT_IP }
StopService() {
#---------------------------------------------------------------------------------------------------------------- # Clean chains
#----------------------------------------------------------------------------------------------------------------
$IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F $IPTABLES -X $IPTABLES -t nat -X $IPTABLES -t mangle -X
$IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD ACCEPT echo "0" > /proc/sys/net/ipv4/ip_forward }
RestartService() { StopService StartService }
case "$1" in 'start') StartService ;; 'stop') StopService ;; 'restart') RestartService ;; *) echo "usage $0 start|stop|restart" esac
Понятно, что линукс ядро должно быть собрано с поддержкой iptables + должны стоять iptables'ы
|