NAT? NAT!
#!/bin/sh /sbin/sysctl -w net.ipv4.ip_forward=1 /sbin/sysctl -w net.ipv4.conf.default.forwarding=1 /sbin/sysctl -w net.ipv4.conf.all.forwarding=1 /sbin/modprobe ip_gre /sbin/modprobe nf_conntrack_proto_gre /sbin/modprobe nf_nat_ftp /sbin/modprobe nf_nat_pptp /sbin/modprobe nf_nat_sip /sbin/modprobe nf_nat_proto_sctp /sbin/modprobe nf_nat_amanda /sbin/modprobe nf_nat_proto_gre /sbin/modprobe nf_nat_h323 /sbin/modprobe nf_nat_snmp_basic /sbin/modprobe nf_nat_tftp /sbin/modprobe nf_nat_irc /sbin/iptables -P FORWARD ACCEPT /sbin/iptables --table nat -A POSTROUTING -o ppp0 -j MASQUERADE
Первые три строчки в последствии можно добавить в /etc/rc.local , чтобы работало сразу после загрузки. В данном примере видно, что я настроил форвардинг на ppp0, который у меня vpn. Через него у меня работает интернет. Ессно на месте ppp0 может быть любое сетевое устройство.
При помощи modprobe подгружаем необходимые для обеспечения полного функционала NAT модули ядра.
Имея схему “клиент”->”Linux-машина с NAT”->”Интернет”, настраиваем сеть между клиентом и линуксовым роутером так: сеть – что-нибудь типа 192.168.0.0/24, IP клиента из этого диапазона, IP Linux-машины тоже, например 192.168.0.1 (классика))) ). Соответственно на клиенте основной шлюз ставим IP Linux-машины (в данном примере192.168.0.1), DNS можно взять из /etc/resolv.conf Linux-машины, на которой поднят NAT.
P.S.: не забываем перезагрузить наш Linux-роутер)).
