[Scion] Trouble setting up SCION on Ubuntu 16.04

Fritz Steinmann steinmfr at gmail.com
Fri Oct 18 15:12:47 CEST 2019


Thanks Juan for clarifying! This works now fine on x86, but I still have
problems on Raspberry Pi. It seems that the border router crashes at
startup. Here's what I get from service status:

fritz at raspicamera:~ $ sudo service scion-border-router at 17-ffaa_1_b9-1 status
● scion-border-router at 17-ffaa_1_b9-1.service - SCION Border Router
   Loaded: loaded (/lib/systemd/system/scion-border-router at .service;
enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2019-10-18 15:06:29 CEST;
1s ago
     Docs: https://www.scionlab.org
  Process: 1331 ExecStart=/usr/bin/scion-systemd-wrapper /usr/bin/border
/etc/scion/gen/ISD-isd-/AS-as-/br17-ffaa_1_b9-1/br.toml 17-ffaa_1_b9-1
(code=exited, status=1/FAILURE)
 Main PID: 1331 (code=exited, status=1/FAILURE)

Oct 18 15:06:29 raspicamera systemd[1]:
scion-border-router at 17-ffaa_1_b9-1.service: Unit entered failed state.
Oct 18 15:06:29 raspicamera systemd[1]:
scion-border-router at 17-ffaa_1_b9-1.service: Failed with result 'exit-code'.
Oct 18 15:06:29 raspicamera systemd[1]:
scion-border-router at 17-ffaa_1_b9-1.service: Service hold-off time over,
scheduling restart.
Oct 18 15:06:29 raspicamera systemd[1]: Stopped SCION Border Router.
Oct 18 15:06:29 raspicamera systemd[1]:
scion-border-router at 17-ffaa_1_b9-1.service: Start request repeated too
quickly.
Oct 18 15:06:29 raspicamera systemd[1]: Failed to start SCION Border Router.
Oct 18 15:06:29 raspicamera systemd[1]:
scion-border-router at 17-ffaa_1_b9-1.service: Unit entered failed state.
Oct 18 15:06:29 raspicamera systemd[1]:
scion-border-router at 17-ffaa_1_b9-1.service: Failed with result 'exit-code'.
fritz at raspicamera:~ $

In the logfile I do get a lot of those:

  cmd line:      ["/usr/bin/border" "-config"
"/etc/scion/gen/ISD17/ASffaa_1_b9/br17-ffaa_1_b9-1/br.toml"]
2019-10-18 13:06:29.191187+0000 [DBUG] Topology and AS config loaded
IA=17-ffaa:1:b9 IfIDs="&{Name:br17-ffaa_1_b9-1
CtrlAddrs:TopoAddr{IPv4:{public: [127.0.0.1]:30045 bind: <nil> overlay: [1
27.0.0.1]:30041},Overlay: UDP/IPv4}
InternalAddrs:TopoBRAddr{IPv4:{PublicOverlay: [127.0.0.1]:31045
BindOverlay: <nil>},Overlay: UDP/IPv4} IFIDs:[1] IFs:map[1:IFinfo:
Name[br17-ffaa_1_b9-1]
IntAddr[TopoBRAddr{IPv4:{PublicOverlay: [127.0.0.1]:31045 BindOverlay:
<nil>},Overlay: UDP/IPv4}] CtrlAddr[TopoAddr{IPv4:{public:
[127.0.0.1]:30045 bind: <nil> overlay: [127.0.0.1]:30041},Ov
erlay: UDP/IPv4}] Overlay:UDP/IPv4 Local:TopoBRAddr{IPv4:{PublicOverlay:
[80.254.171.245]:50000 BindOverlay: <nil>},Overlay: UDP/IPv4}
Remote:[192.33.93.195]:50008 Bw:1000 IA:17-ffaa:0:1107
Type:parent MTU:1472]}"
dir=/etc/scion/gen/ISD17/ASffaa_1_b9/br17-ffaa_1_b9-1
2019-10-18 13:06:29.191866+0000 [DBUG] ====> Setting up new context from
config
2019-10-18 13:06:29.212986+0000 [DBUG] Setting up new local socket.
bind=[127.0.0.1]:31045
2019-10-18 13:06:29.213254+0000 [WARN] Receive buffer size smaller than
requested expected=1048576 actual=163840 before=81920
2019-10-18 13:06:29.213587+0000 [DBUG] Done setting up new local socket.
conn=[127.0.0.1]:31045
2019-10-18 13:06:29.213644+0000 [DBUG] Setting up new external socket.
intf="IFinfo: Name[br17-ffaa_1_b9-1]
IntAddr[TopoBRAddr{IPv4:{PublicOverlay: [127.0.0.1]:31045 BindOverlay:
<nil>},Over
lay: UDP/IPv4}] CtrlAddr[TopoAddr{IPv4:{public: [127.0.0.1]:30045 bind:
<nil> overlay: [127.0.0.1]:30041},Overlay: UDP/IPv4}] Overlay:UDP/IPv4
Local:TopoBRAddr{IPv4:{PublicOverlay: [80.254.1
71.245]:50000 BindOverlay: <nil>},Overlay: UDP/IPv4}
Remote:[192.33.93.195]:50008 Bw:1000 IA:17-ffaa:0:1107 Type:parent MTU:1472"
2019-10-18 13:06:29.213957+0000 [DBUG] Rolling back local socket
conn=0x6d5d6c
2019-10-18 13:06:29.214018+0000 [INFO] Non-started sock stopped
addr=[127.0.0.1]:31045
2019-10-18 13:06:29.214061+0000 [INFO] Non-started sock stopped
addr=[127.0.0.1]:31045
2019-10-18 13:06:29.214101+0000 [CRIT] Startup failed err=
>  Unable to listen on external socket
>      Error setting up connection network="udp4"
listen="[80.254.171.245]:50000" remote="[192.33.93.195]:50008"
>      dial udp4 80.254.171.245:50000->192.33.93.195:50008: bind: cannot
assign requested address
2019-10-18 13:06:29.214976+0000 [INFO] =====================> Service
stopped BR br17-ffaa_1_b9-1

I know that UDP port 50000 is set up correctly on the router (port
forwarding), that I was able to test. Specifying a local address in the
User AS in SCIONlab doesn't change the outcome. How can I debug?

Regards
Fritz

Am Mi., 16. Okt. 2019 um 21:08 Uhr schrieb Juan A. García-Pardo <
juan.garcia at inf.ethz.ch>:

> Hi Fritz,
> Thanks for the feedback. We have now a different, easier method to install
> SCION, based on deb packages. We suggest this method unless you want to
> build SCION yourself. Get your gen configuration from the Coordinator at
> https://scionlab.org. You can download it as a configured Vagrant VM,
> stand alone system or development.
> If you choose the VM type, just uncompress the tarball and run vagrant up.
> If you have a dedicated system, the steps are explained right in the
> Coordinator. And finally, if you need to build SCION (you are modifying a
> service, etc) do this:
> 1. mkdir -p ~/go/src/github.com/scionproto
> 2. cd ~/go/src/github.com/scionproto
> 3. git clone git at github.com:netsec-ethz/netsec-scion.git scion
> 4. cd scion
> 5. Now follow the instructions in the README that we have in the
> repository
> https://github.com/netsec-ethz/netsec-scion/blob/scionlab/README.md  ,
> but omit step 5.
>
> As mentioned, the two first installation types are much easier to perform.
> We will be changing the tutorials to reflect our changes very soon.
> Please don't hesitate to contact us if you have any question.
> Best regards,
>
> Juan A.
>
>
> On Wed, Oct 16, 2019 at 3:22 PM Fritz Steinmann <steinmfr at gmail.com>
> wrote:
>
>> Hi
>>
>> After trying to install SCION on a virgin 16.04 LTS installation I get the
>> following:
>>
>> fritz at scion-test:~$ ./scion_install_script.sh
>> Starting SCION installation...
>> We are running on Ubuntu version 16.04 seems okay
>> [...]
>> INFO: Found 2 targets...
>> INFO: Elapsed time: 3.774s, Critical Path: 0.18s
>> INFO: 0 processes.
>> INFO: Build completed successfully, 1 total action
>> Create topology, configuration, and execution files.
>> usage: generator.py [-h] [-6] [-c TOPO_CONFIG] [-p PATH_POLICY] [-d]
>>                     [-n NETWORK] [-o OUTPUT_DIR] [-b BIND_ADDR] [-t]
>>                     [--pseg-ttl PSEG_TTL] [-bs BEACON_SERVER]
>>                     [-cs CERT_SERVER] [-sd SCIOND] [-ps PATH_SERVER]
>>                     [-disp DISPATCHER] [-ds] [-f SVCFRAC] [--random-ifids]
>>                     [--in-docker] [--docker-registry DOCKER_REGISTRY]
>>                     [--image-tag IMAGE_TAG] [--sig]
>> generator.py: error: unrecognized arguments: nodocker
>> fritz at scion-test:~$
>>
>> If I try to create a local topology manually this is what I get:
>>
>> fritz at scion-test:~$ cd $SC
>> fritz at scion-test:~/go/src/github.com/scionproto/scion$ ./scion.sh
>> topology
>> Shutting down: Terminating this run of the SCION infrastructure
>> Shut down
>> Compiling...
>> 2019/10/16 15:18:23 main.go:26: Bazel version: 0.26.1
>> 2019/10/16 15:18:23 main.go:32: Found 78 external dependencies
>> 2019/10/16 15:18:23 main.go:38: Created 78 symlinks in go/vendor/
>> INFO: Analyzed target //:build-tools (1 packages loaded, 2 targets
>> configured).
>> INFO: Found 1 target...
>> Target //:build-tools up-to-date:
>>   bazel-bin/build-tools.tar
>> INFO: Elapsed time: 0.665s, Critical Path: 0.24s
>> INFO: 1 process: 1 linux-sandbox.
>> INFO: Build completed successfully, 3 total actions
>> INFO: Analyzed 2 targets (0 packages loaded, 3423 targets configured).
>> INFO: Found 2 targets...
>> INFO: From Compiling
>>
>> external/com_github_mattn_go_sqlite3/linux_amd64_stripped/go_default_library%linux_amd64%cgo_codegen%/sqlite3.cgo2.c:
>> sqlite3.go:73:1: warning: '_sqlite3_exec' defined but not used
>> [-Wunused-function]
>> INFO: Elapsed time: 30.882s, Critical Path: 8.61s
>> INFO: 483 processes: 483 linux-sandbox.
>> INFO: Build completed successfully, 484 total actions
>> Create topology, configuration, and execution files.
>> Traceback (most recent call last):
>>   File "python/topology/generator.py", line 100, in <module>
>>     main()
>>   File "python/topology/generator.py", line 96, in main
>>     confgen.generate_all()
>>   File "/home/fritz/go/src/
>> github.com/scionproto/scion/python/topology/config.py", line 144, in
>> generate_all
>>     self._generate_with_topo(topo_dicts)
>>   File "/home/fritz/go/src/
>> github.com/scionproto/scion/python/topology/config.py", line 166, in
>> _generate_with_topo
>>     self._generate_go(topo_dicts)
>>   File "/home/fritz/go/src/
>> github.com/scionproto/scion/python/topology/config.py", line 194, in
>> _generate_go
>>     go_gen.generate_bs()
>>   File "/home/fritz/go/src/
>> github.com/scionproto/scion/python/topology/go.py",
>> line 109, in generate_bs
>>     bs_conf = self._build_bs_conf(topo_id, topo["ISD_AS"], base, elem_id,
>> elem)
>>   File "/home/fritz/go/src/
>> github.com/scionproto/scion/python/topology/go.py",
>> line 124, in _build_bs_conf
>>     'tracing': self._tracing_entry(),
>>   File "/home/fritz/go/src/
>> github.com/scionproto/scion/python/topology/go.py",
>> line 275, in _tracing_entry
>>     docker_ip = docker_host(self.args.in_docker, self.args.docker)
>>   File "/home/fritz/go/src/
>> github.com/scionproto/scion/python/topology/common.py", line 180, in
>> docker_host
>>     addr = docker_ip()
>>   File "/home/fritz/go/src/
>> github.com/scionproto/scion/python/topology/common.py", line 185, in
>> docker_ip
>>     return
>> subprocess.check_output(['tools/docker-ip']).decode("utf-8").strip()
>>   File "/usr/lib/python3.5/subprocess.py", line 626, in check_output
>>     **kwargs).stdout
>>   File "/usr/lib/python3.5/subprocess.py", line 708, in run
>>     output=stdout, stderr=stderr)
>> subprocess.CalledProcessError: Command '['tools/docker-ip']' returned
>> non-zero exit status 1
>> fritz at scion-test:~/go/src/github.com/scionproto/scion$
>>
>> It seems that the "nodocker" option is not correctly parsed by scion.sh or
>> it should not be there anymore at all. What to do next? This is some build
>> information:
>>
>> fritz at scion-test:~/go/src/github.com/scionproto/scion$ uname -a
>> Linux scion-test 4.15.0-1057-azure #62-Ubuntu SMP Thu Sep 5 18:25:30 UTC
>> 2019 x86_64 x86_64 x86_64 GNU/Linux
>> fritz at scion-test:~/go/src/github.com/scionproto/scion$ cat
>> /etc/lsb-release
>> DISTRIB_ID=Ubuntu
>> DISTRIB_RELEASE=16.04
>> DISTRIB_CODENAME=xenial
>> DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"
>> fritz at scion-test:~/go/src/github.com/scionproto/scion$
>>
>> Regards
>> Fritz
>> _______________________________________________
>> Scion mailing list
>> Scion at lists.inf.ethz.ch
>> https://lists.inf.ethz.ch/mailman/listinfo/scion
>>
>


More information about the Scion mailing list