Hi,
I did a similar thing except with a Sierra 3G USB modem providing a
VOICE/Internet connection and client computers connecting via eth0. So my
experience has some relevance. I found it necessary to not use CONNMAN,
otherwise it appeared to be impossible to use ppp. My project requires the
main AT interface to be used to manage voice communication (dialling,
answer and hangup, etc ...) and a second data interface is used for data
connection. pppd is used to manage the second data interface. This is
totally incompatible with connman/ofono unless I'm prepared to modify
ofono. Also pppd runs as an autonomous entity handling the data connection
completely independent of the voice connection. Try doing that with ofono?
Angstrom 2012.12 with kernel 3.8.13 needs to be recompiled to support NAT
with the following settings for IPV4
*Enable NAT:*
-> Networking support (NET [=y])
-> Networking options
-> Network packet filtering framework (Netfilter) (NETFILTER
[=y])
-> Core Netfilter Configuration
<M> Netfilter connection tracking support
{M} Netfilter Xtables support (required for ip_tables)
*** Xtables combined modules ***
<M> "NFLOG" target support
<M> "conntrack" connection tracking match support
<M> "state" match support
-> IP: Netfilter Configuration
<M> IPv4 connection tracking support (required for NAT)
[*] proc/sysctl compatibility with old connection
tracking (NEW)
<M> IP Userspace queueing via NETLINK (OBSOLETE)
<M> IP tables support (required for filtering/masq/NAT)
<M> "ah" match support
<M> "ecn" match support
<M> "rpfilter" reverse path filter match support
<M> "ttl" match support
<M> Packet filtering
<M> REJECT target support
<M> ULOG target support
<M> IPv4 NAT
<M> MASQUERADE target support
<M> NETMAP target support
<M> REDIRECT target support
<M> Packet mangling
To implement the connection to the modem I decided to ditch connman/ofono
and revert to pppd. So I configured /etc/network/interfaces to handle the
ethernet
*Ethernet Interface*
I wanted a static IP address on the ethernet. (ppp0 interface address is
dynamically assigned by 3G system).
Modify the file /etc/network/interfaces to contain the following:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
auto lo
iface lo inet loopback
# Wired interfaces
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.2
Modify the file /etc/resolv.conf to contain the following:
# Generated by Connection Manager
nameserver 8.8.8.8
*Connman*
Disable the connman network service with the following commands
systemctl daemon-reload
systemctl stop connman.service
systemctl disable connman.service
*Network Service*
Create a file /lib/systemd/networking.service which contains:
[Unit]
Description=Run the Networking Service
After=syslog.target
[Service]
Type=simple
ExecStartPre=/bin/sh -c 'iptables-restore < /etc/iptables.sav'
ExecStart=/etc/init.d/networking start
[Install]
WantedBy=multi-user.target
Create a link to the networking service file
cd /etc/systemd/system
ln -f /lib/systemd/networking.service networking.service
Start the service:
systemctl daemon-reload
systemctl enable networking.service
*IPTABLES*
For forwarding, modify line in the file /etc/sysctl.conf
# net.ipv4.ip_forward=1
to
net.ipv4.ip_forward=1
Set-up the routing with the command:
cd /etc
* iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE*
iptables-save > /etc/iptables.sav
Reboot the machine. It should possible to connect a PC to the beagle via
Ethernet.
*DHCP*
To provide a dhcp server I decided to use *dnsmasq* as it did nice things
like ensure the correct namerserver addressing was passed to the dhcp
clients. You will need to download the source code and compile it yourself.
It works rather well. I'm getting 7.2 MBits/sec download and 5 MBIts/sec
upload (Telstra NextG carrier) which is good for pppd. pppd ensures default
route is via ppp0 while connection is up. The project was/is to build a
not-so-mobile phone for use in the rail industry.
Regards ...
On Wednesday, October 16, 2013 11:23:59 PM UTC+11, Max Baum wrote:
>
> Hello
>
> I want to share the internet connection of eth0 with wlan0. (like wifi
> AP, hostapd and dhcp-server already working)
>
> I tried to use iptables for NAT.
> # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
>
> But i get following error:
> "iptables v1.4.15: can't initialize iptables table `nat': Table does not
> exist (do you need to insmod?)
> Perhaps iptables or your kernel needs to be upgraded."
>
> So i tried to install
> kernel-module-iptable-nat<http://www.angstrom-distribution.org/repo/?pkgname=kernel-module-iptable-nat>,
>
> but it is not available for the 3.8 kernel.
>
> Is there another method to share the internet connection / build
> kernel-module-iptable-nat<http://www.angstrom-distribution.org/repo/?pkgname=kernel-module-iptable-nat>for
> the 3.8 kernel?
>
> Using BBB / latest Angstrom.
>
>
>
>
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.