can you help me? Why vios4 dont change next-hop(ebgp) when it send 18.104.22.168/32 to vios5? On vios5 i see network 22.214.171.124 with next-hop 192.168.1.3
You would need to configure a routing policy to rewrite that next-hop if that's the behavior you want. BGP does not automatically change them when propagating routes in this scenario because of the common LAN.
Since there is a common LAN among the three routers, it actually removes a hop to keep the original next-hop.
Related trivia: on most Internet Exchange / Peering Points, there is a policy requiring members to rewrite next-hop, so they do not sell next-hop to others on the exchange.
The specification is RFC4271 §5.1.3 NEXT_HOP Path Attribute rule 2.2, which reads as follows:
Otherwise, if the route being announced was learned from an external peer, the speaker can use an IP address of any adjacent router (known from the received NEXT_HOP attribute) that the speaker itself uses for local route calculation in the NEXT_HOP attribute, provided that peer X shares a common subnet with this address. This is a second form of "third party" NEXT_HOP attribute.