중국에서 최초의 오송철도(吳淞鐵道)가 철거되어 가는 무렵인 1870년대 중반, 러시아에서는 시베리아 철도의 필요성이 제기되었다. 시베리아 철도는 예산 부족을 이유로 연기되었다가 1886년 차르의 동의를 얻어내고, 1891년 마침내 착공식이 거행되었다. 러시아의 시베리아 철도 건설은 다목적으로 이용되었다. 유럽 지역 농민들을 시베리아로 이주시켜 정착하게 하고, 청나라와 국경 분쟁을 벌이던 극동 아시아에 주도권을 잡기 위한 것이었다.
게다가 크림전쟁(1853~1856)에 패배한 이후 영국과 오스만투르크의 동맹으로 남하정책이 저지됨에 따라 러시아는 시베리아로 팽창 방향을 수정하게 되었다. 러시아는 중국과 일본 등 아시아 국가와 교역을 확대하고, 영국과의 대치 전선을 확대시키려는 의도도 있었다. 특히 1885년 영국의 거문도 점령, 일본의 군사력 확대는 러시아로 하여금 극동 지역으로 군사력 투입을 신속하게 할 필요가 있었다. 그와 같은 수단이 철도였다.

시베리아 철도 공사가 진행되면서 청나라가 긴장했다. 철도에 대한 거부감에 사로잡혀 있던 청나라 조정에서는 이홍장(李鴻章), 좌종당(左宗棠), 장지동(張之洞)등 양무파(洋務派)들이 철도 부설을 주장했으며, 권력의 실세였던 서태후도 이를 받아들였다. 청나라 조정은 러시아의 시베리아 철도 건설에 자극을 받아 심양(瀋陽), 길림(吉林)을 거쳐 훈춘(琿春)에 이르는 노선의 건설을 추진하게 되었고, 1890년 영국인 기술자인 클라우드 킨더(Claude W. Kinder)를 고용해 철도 건설 계획을 수립했다.
관동철도(關東鐵道)로 불리는 이 노선은 1892년에 착공해 하북성 탕산(唐山)에서 출발해 산해관(山海關)을 조금 지나서까지 건설되다가 청일전쟁을 맞이하여 공사장 일대에 위기가 생기자 공사가 일시에 중단되었다. 이러한 청일전쟁(1894~1895)은 동아시아의 패권을 바꾸어 놓았다. 중화주의로 인해 나태하고 태만해 있던 청나라의 지도부는 한 때 조공 국가였던 일본에 패배했다는 사실로 인해 큰 충격에 빠졌다.
오랑캐는 오랑캐로 제압한다는 중국 특유의 이이제이(以夷制夷) 전략이 상책으로 올라왔지만 이는 쉽지 않았다. 청나라에서는 일본의 침략 의도를 저지하기 위해서는 한 때 적이었던 러시아와 화친해야 한다는 상소가 연이어 올라왔다. 전쟁에서 승리한 일본은 청나라에 요동반도를 할양할 것을 요구했고, 중국은 1895년 4월 17일 시모노세키 조약(下關條約)에서 이를 인정했다.
이에 러시아는 프랑스와 독일을 끌어들여 일본의 요동반도 할양을 무산시키게 된다. 이것이 삼국간섭으로 불리는 역사적 사건이었다. 러시아는 요동반도와 여순(旅顺)을 돌려받게 해주는 대가로 만주를 통과하는 철도 부설을 중국에 요구했다. 러시아의 시베리아 철도는 극동 지역에서 멀리 돌아 블라디보스토크까지 연결된다. 만주를 통과하면 노선이 단축되고 운행 시간도 줄어들게 되어 있다.
시베리아 철도는 유럽 측과 극동 측 양 방향에서 건설되고 있었다. 중간에 이미 만들어져 있는 철도를 연결하면서 이러한 철도 건설의 역사는 빠른 속도로 진행되었다. 많은 숙련자들과, 비숙련 자유노동자, 그리고 시베리아 유형이 확정된 죄수들이 가혹한 조건에서 건설 공사에 내몰렸다. 청일전쟁 무렵에 블라디보스토크에서 출발한 철도는 아무르 강변을 따라 하바로프스크에 근접했고, 유럽에서 출발한 철도는 이르쿠츠크를 지나 바이칼 호로 향해 공사가 진행 중이었다. 청나라의 서태후와 이홍장(李鴻章)은 러시아에 대해 매우 낙관적으로 대했다.
일본에 충격적인 패배를 당한 이후였기 때문에 그들은 러시아 만이 청나라의 우군이 될 수 있다고 믿었다. 러시아는 일본이 재침할 경우에 대비해 빠른 속도로 군대를 투입 할 수 있도록 만주를 관통하는 동청철도(東淸鐵道)를 부설하도록 허락할 것을 요구했다. 러시아 재상 세르게이 비테(Сергей Юльевич Витте)는 이홍장에게 청일전쟁이 발발했을 때, 러시아군이 블라디보스토크에 파견되었기 때문에 철도가 미비하여 운신의 폭이 지체될 수밖에 없었다. 군대가 길림에 도착했을 때 전쟁은 이미 끝났다면서 동청철도 부설의 당위성을 강변했다.
하지만 이러한 비테의 주장은 거짓말이었다. 청일전쟁 당시 시베리아 철도는 바이칼 호에 이르지 못했고, 러시아는 당시 극동에서 군사 행동을 자제하고 있었기 때문이다. 삼국간섭 직후 청나라와 러시아 사이에 밀사들이 왕래하며 동맹 체결이 협의되고 있었다. 청나라는 러시아의 군사적인 지원을 필요로 했고, 러시아는 동청철도 권리를 얻으려 했다. 이에 다급한 것은 청나라였다. 청나라는 청일전쟁 기간에 이미 4,000여 만 량(量)의 외채를 짊어지고 있었고 전쟁 후에 배상금 2억 량에다 요동반도 반환 금 3,000만 량의 채무를 지고 있었다. 당시 청나라의 연간 세수는 8,000만 량에 불과했다.
청나라는 빚을 얻어 배상금을 갚을 수밖에 없는 여건이었다. 그러자 이 돈을 러시아가 차관을 들여 해결해 주었다. 차관에는 당연히 조건이 있었다. 러시아는 4억 프랑(약 1억 량)의 차관을 빌려 주면서 동청철도 부설권을 요구했다. 러시아는 동청철도를 허용하지 않으면 원조가 불가능하다고 했다. 돈이 없던 청나라는 동청철도를 내주는 것이 불가피하게 되었다. 이렇게 하여 1896년 5월 22일 이홍장과 비테 사이에 청나라-러시아 비밀협정을 체결했다.
러시아는 시베리아 철도의 지름길인 동청철도 부설권을 챙겼다. 아울러 일본이 청나라와 조선, 극동 러시아를 침략할 경우 양국이 군대를 파견해 상호 지원하기로 했다. 일본을 적국으로 하는 상호 방위동맹이었다. 이러한 비밀 협정에는 러시아 함대가 전시에 청나라의 모든 항구를 사용할 수 있으며, 평시에도 동청철도를 이용해 러시아 군의 수송과 보급을 할 수 있다는 내용이 포함되었다. 또한 철도 연변 30리 이내에서 광산 등에 대한 러시아의 독점적 권리가 인정되었다. 러시아는 사실상 중국 내부에 가늘고 긴 영토를 소유하게 된 것이나 다름없었기 때문이다.
러시아의 동청철도 권리 확보 소식이 전해지자, 일본의 이토 히로부미(伊藤博文)는 러시아가 장래에 중국을 병탄해 나갈 것을 우려하면서 조선의 동향에 대해 감시를 늦추지 않았다. 앞서 고종은 명성황후의 시해 이후 신변의 위협을 느껴 러시아 대사관으로 파천했다. 따라서 극동 아시아에 대한 러시아의 개입이 노골화 되어 갔다. 러시아에 이어 독일도 삼국간섭의 대가를 청나라에 요구했다. 독일은 1897년 11월 선교사 살해를 명분으로 교주만(膠州灣)의 청도(青島)를 점령했다.
앞서 독일은 러시아에 청도를 점령할 경우 개입할 것인지에 대해 타진했는데, 러시아는 요동반도에만 관심이 있다며 독일의 군사 행동을 양해했다. 제국주의 국가 간의 영토를 분할해 차지하기 위한 것이었다. 이러한 내막을 모른 채 청나라는 러시아에 군함을 파견해 독일의 행동을 저지해줄 것을 요청했다. 외무장관 마하일 무라비요프(Михай Муравьев)는 이 기회에 요동반도 남단에 있는 여순(旅順)과 대련(大連)을 점령해야 한다고 주장했다. 재상 세르게이 비테는 이와 같은 견해에 대해 반대했지만 차르 니콜라이 2세는 강경파에게 힘을 실어주었다. 차르의 명령으로 인해 러시아 군은 1897년 12월 12일 여순과 대련을 점령했다. 그리고는 여순항을 포트 아서(Port Arthur)라고 명명했다. 러시아 군은 여순과 대련에서 철수하지 않았다.
청나라의 입장에서는 러시아 군을 불러들이면서 위기를 맞게 되었다. 러시아는 여순과 대련을 25년 동안 조차하고, 동청철도와 여순항을 연결하는 지선의 부설을 허락하도록 요구했다. 이에 청나라는 무기력해졌다. 결국 청나라는 여순과 대련의 25년 동안의 조차를 허용하고, 남만주 철도의 부설권도 넘겨주었다. 이 철도가 남만주 철도(南滿洲鐵道)이다. 남만주 철도는 동청철도의 하얼빈에서 출발해 대련만까지 연결하는 철도이다.
두 철도가 만나는 하얼빈은 이 때부터 근대도시로 변모하게 된다. 이로 인해 러시아는 여순에 관동성을 설치하고 총독을 파견한다. 러시아는 만주를 영토화 하겠다는 야심을 드러냈고, 이를 지켜보던 일본은 시베리아 철도가 완공되기 이전에 러시아를 싸우겠다는 생각을 굳히게 된다.