Networking


devroot.org is now being served in IPv6 as well thanks to sixxs.net

Recently as a good Apple geek I got an iPhone on my last trip to the US, and got it unlocked so I could use it with my Swisscom SIM Card.

I’ve been a happy camper all along, got a nice business data package (50Mb per month) and also the roaming preferential package (CHF 5 per month) so the price per Mb of transfer while roaming would be lower (CHF 3 instead of CHF 14).

The iPhone works wonderfully in Switzerland’s Swisscom network, the phone takes advantage of the extended EDGE Swisscom network so I can fully use Google Maps or check the weather or my e-mail no matter where I am, even in the middle of the Alps, all of this joy turns into a nightmare when roaming in foreign countries.

This last month I’ve been visiting the UK and Spain for business affairs, being confident of the iPhone’s ability to measure EDGE/GPRS traffic I used Google Maps to guide myself around London city center and to find good restaurants in Barcelona, all of this only consumed 1.9Mb of transfer (800kb upstream and 1.1Mb downstream) so I was expeting a 2Mb or a 3Mb charge maximum.

I’ve got a 28.6 Mb charge, which amounted to CHF 140 approximately.

To my disbelief I called immediately Swisscom customer line, even if the helpdesk was a bit harsh at first (calling me a liar for saying that the bill was wrong) I finally got them to pass me through to a technical support person, which helpfully investigated the matter.

I’ve got a call back from the technical support to confirm that the bill amounted to 28.6Mb due to the fact that Swisscom roaming partnerships force Swisscom to charge a minimum of 30kb per session (up t0 a minimum of 300kb per session in Spain!!!), and they consider a session each time the telephone connects to the GPRS network, so this means that each time that I was checking Google Maps in Spain I was being billed 300kb even if I was using 1kb or 2kb maximum, a shameful ripoff.

Even if I kept complaining about this fact pointing out that it’s not my problem that Swisscom has such a bad partnership deals of which I were not warned about at any time, I’m now forced to pay the full bill and I’ve been told by the technician that my telephone is defective and I should get another one that only connects into the GPRS network once and leave the connection open so I can avoid multiple charges, so it looks like now an iPhone is defective in Swisscom eyes, amazing.

This is the kind of treatment and very user unfriendly deals that screws up us European users, and the kind of torment that Canadian users of Rogers suffer as well, this telephone is clearly ahead of its time and it looks like it’s way ahead the comprehension of my mobile phone network, which is not up to the challenge of making a user friendly comprehensible charging data network.

Shame on you Swisscom.

If you don’t have Mac OS X Leopard server you have a Samba implementation limited mostly to home directories and a lot of borking around, if you’re a typical Unix Admin as I am you’ll want to take things in your hands and add the shares you want yourself in the command line.

Leopard uses Samba 3 and its own authentication and locking methods connected to its auth layer and afp locking so a typical samba config file won’t work, it also has a dynamically modificable part which is configured via System Preferences.

This is not the smartest method neither prepared for faint hearted people, but it’ll work if you’re used to Linux.

If you had samba already working on Tiger the changes are only at locking, vfs and user auth, which is what enables all the new Leopard system to work properly.

This are the exact changes from Tiger to Leopard


# Changes affecting user mapping and authentication
passdb backend = odsam
idmap domains = default
idmap config default: default = yes
idmap config default: backend = odsam
idmap alloc backend = odsam
idmap negative cache time = 5
obey pam restrictions = yes
security = USER
auth methods = guest odsam
ntlm auth = yes
lanman auth = no
use kerberos keytab = yes
com.apple: lkdc realm = LKDC:SHA1.xxx
realm = LKDC:SHA1.xxx


# Changes affecting the FS interaction and locks
vfs objects = darwinacl,darwin_streams
use sendfile = yes
ea support = yes
darwin_streams:brlm = yes
enable core files = yes
max smbd processes = 10
log level = 1
map to guest = Bad User

You want to take a look at the realm SHA1 strings since they’re dependant on your installation, you can always check the new /etc/smb.conf in Mac OS X Leopard and then merge it up with your previous config, or replace the config as I did and just add this.

The Leopard samba configuration is brilliant, but at the same time limited to push you to buy the Server version, at the same time it’s interesting to play with the includes it adds too, but this at least will get your previous samba config out and running fine.

Trunking between this equipments is problematic at best, the meaning of trunk in the 3com is not the same as in the Catalyst, also the vlan methods are not the same either.

Trunk in the 3Com SuperStack is port aggregation between two 3Com devices, whether in the Cisco is really a downlink trunk, luckily both devices speak 802.1q so the trunk configuration shouldn’t be a big problem.

First of all we need to establish the trunk port between the Catalyst and the SuperStack, so we’ll start by defining the port in the Catalyst.

interface FastEthernet0/14
description Trunk to 3com 3300
switchport access vlan 905
switchport trunk native vlan 905
switchport trunk allowed vlan 10,11,13,14
switchport mode trunk
speed 100
duplex full

Some considerations on this config. It’s always recommended by Cisco and security-wise to use another vlan than vlan 1 for trunking, that’s what we’re doing here, also we’re restricting which vlans we will accept and retransmited to the 3Com switch.

There’s a huge implementation difference between the trunking trunking transmission between Cisco and 3Com, the 3Com switches tag all the vlans by default, but the Cisco switch won’t tag the trunk vlan, this is a really annoying factor that made me waste some hours!

The trick resides in adding all the vlans tagged into the port that you’re using as a trunk, you don’t really need to add the trunking vlan that you configured back on the cisco, it doesn’t work that way. So let’s add one by one all the vlans in the trunk port. In order to do that we need to use the bridge menu in the 3com switch.

Select menu option (bridge/vlan): addPort
Select VLAN ID (1-4094) [1]: 10
Select Ethernet port (1-12, all): 12
Enter tag type (none, 802.1Q) [802.1Q]: 802.1Q

Repeat this in the trunk port for each vlan you’re adding in the Cisco trunk side. When you have your trunk port configured properly (also be careful with duplex and speed configs) you just need to add the ports into the vlan untagged. So let’s say we want to add port 1 to the vlan 10.

Select menu option (bridge/vlan): addPort
Select VLAN ID (1-4094) [1]: 10
Select Ethernet port (1-12, all): 1
Enter tag type (none, 802.1Q) [802.1Q]: none

As soon as that’s done the port will be talking head to head with all the other ports in vlan 10 also in the Cisco switch.

The difficult thing is making the 3Com switch accesible through an IP address, since the 3Com switch will only publish its public IP address though VLAN 1, this one is a though cookie.