[Scion] Trouble setting up SCION on Ubuntu 16.04

Juan A. García-Pardo juan.garcia at inf.ethz.ch
Sat Oct 19 12:49:53 CEST 2019


Hi Fritz,
According to the log file, there is a problem binding the border router to
an interface. These lines from the log:

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

essentially say that there is no interface that has IP
address 80.254.171.245, but the border router is configured with address in
its topology.
Is there an interface with that IP address in that machine? If that is
not the case, you can reconfigure that AS in the Coordinator. On the
other hand, if you see that IP address when you run `ifconfig`, we will
have to understand how to reproduce the issue on our side.

>From the contents of your log file, it seems you are running SCION from
packages. In that case, after reconfiguring the AS, run the
`scionlab-config` line you will find under "installation from packages" on
your particular AS in the Coordinator.
Please tell us if you find any other problem. Best regards,

Juan A.


On Fri, Oct 18, 2019 at 3:13 PM Fritz Steinmann <steinmfr at gmail.com> wrote:

> 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
> >>
> >
> _______________________________________________
> Scion mailing list
> Scion at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/scion
>


More information about the Scion mailing list