We have $f(1)=1$ and $f(n) \ge 2, \forall n \ge 2$.
Let $ n ≥ 2$ be un integer. Using Egyptian fractions theorem, we can write:
$$
1 − \frac {1}n = \sum_{s \in S} \frac{1}{s}
$$
where $S$ is a set of integers greater than $n(n + 1)$. Therefore:
$$
1=\frac {1}n + \sum_{s \in S} \frac{1}{s} =\frac 1{n+1} + \frac 1{n(n+1)} + \sum_{s \in S} \frac{1}{s}
$$
From f property, we have:
$$
\frac {1}{f(n)} + \sum_{s \in S} \frac{1}{f(s)} \in \mathbb{N}
$$
and
$$
\frac 1{f(n+1)} + \frac 1{f(n(n+1))} + \sum_{s \in S} \frac{1}{f(s)} \in \mathbb{N}
$$
therefore
$$
\frac 1{f(n+1)} + \frac 1{f(n(n+1))} - \frac {1}{f(n)} \in \mathbb{Z}
$$
But:
$$
\frac {-1}2 \le - \frac {1}{f(n)} \lt \frac 1{f(n+1)} + \frac 1{f(n(n+1))} - \frac {1}{f(n)} \lt \frac 1{f(n+1)} + \frac 1{f(n(n+1))} \le \frac1{2} + \frac1{2}
$$
so
$$
\frac 1{f(n+1)} + \frac 1{f(n(n+1))} = \frac {1}{f(n)} \tag 1
$$
It follows that f is increasing and $f(n) \ge n$.
To conclude, it's easy to show, using induction, that $f(n)=n, \forall n$.
Disclaimer
This prove has been sent to me, in a hand written form, by a friend who allowed me to post it here.
Update
I was requested to continue the prove (the induction part).
First, because f is increasing and f injective, we have: $f(n) \ge n, \forall n$.
Now suppose $f(k) = k$ and $f(k + 1) > k + 1$ for some $k$. From (1) we have:
$$
\frac 1{f(k+1)} + \frac 1{f(k(k+1))} = \frac {1}{k} \tag 2
$$
and, because $f(n) \ge n, \forall n$:
$$
\frac 1{k+1} + \frac 1{k(k+1)} \gt \frac {1}{k} \tag 3
$$
From (3):
$$
\frac {1}{k} \gt \frac {1}{k} \tag 4
$$
Therefore $f(k+1) = k+1$ if $f(k) = k$.