OpenVPN 클라이언트(Mikrotik RouterOS) OpenVPN 서버(Debian/Linux) 설정을 작동시키는 방법

OpenVPN 클라이언트(Mikrotik RouterOS)  OpenVPN 서버(Debian/Linux) 설정을 작동시키는 방법

OpenVPN 서버(Debian)에서 MT를 작동하도록 만드는 데 몇 가지 문제가 있습니다. OVPN 서버에 성공적으로 연결할 수 있지만 트래픽이 OVPN 서버를 통해 라우팅되지 않습니다. 내 구성은 다음과 같습니다.

설정 -https://i.stack.imgur.com/AAH9Y.jpg

OpenVPN 서버(Debian/Linux) 구성

# 고양이 /etc/openvpn/server.conf
로컬 95.2.171.3
포트 1194
프로토 TCP
개발자 툰

ca ca.crt
인증서 서버.crt
키 서버.키
dh dh.pem

서버 10.8.0.0 255.255.255.0
ifconfig-풀-지속 ipp.txt

클라이언트 구성 디렉터리 ccd
경로 192.168.81.0/24 255.255.255.0

연결 유지 10 120
툰엠투 1500
mssfix 1450

암호 AES-256-CBC
인증 샤1

지속 키
지속적인 조정

상태 /var/log/openvpn-status.log
로그 추가 /var/log/openvpn.log

동사 5
crl-검증 /etc/openvpn/easy-rsa/pki/crl.pem

# 고양이 /etc/openvpn/ccd/client
루트 192.168.81.0 255.255.255.0 10.8.0.2
ifconfig-푸시 10.8.0.2 10.8.0.1

# 고양이 /proc/sys/net/ipv4/ip_forward
1

# netstat -an | 그렙 1194
tcp 0 0 95.2.171.3:1194 0.0.0.0:* 들어보세요
tcp 0 0 95.2.171.3:1194 81.190.190.100:62973 설정됨

# ifconfig
eth0 링크 encap:Ethernet HWaddr 20:cf:30:f2:a8:76
          inet 주소:95.2.171.3 Bcast:95.2.171.31 마스크:255.255.255.224
          inet6 주소: fe80::22cf:30ff:fef2:a876/64 범위:링크
          업 브로드캐스트 실행 중 멀티캐스트 MTU:1500 미터법:1
          RX 패킷:255189 오류:0 삭제:0 오버런:0 프레임:0
          TX 패킷:333054 오류:0 삭제:0 오버런:0 반송파:0
          충돌:0 txqueuelen:1000
          RX 바이트:34521411(32.9MiB) TX 바이트:367074147(350.0MiB)
          인터럽트:26 기본 주소:0x8000

lo 링크 캡슐:로컬 루프백
          inet 주소:127.0.0.1 마스크:255.0.0.0
          inet6 주소: ::1/128 범위:호스트
          업 루프백 실행 MTU:16436 미터법:1
          RX 패킷:15579 오류:0 삭제:0 오버런:0 프레임:0
          TX 패킷:15579 오류:0 삭제:0 오버런:0 반송파:0
          충돌:0 txqueuelen:0
          RX 바이트:1326071(1.2MiB) TX 바이트:1326071(1.2MiB)

tun0 링크 캡슐:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet 주소:10.8.0.1 PtP:10.8.0.2 마스크:255.255.255.255
          UP POINTOPOINT 실행 NOARP MULTICAST MTU:1500 미터법:1
          RX 패킷:57 오류:0 삭제:0 오버런:0 프레임:0
          TX 패킷:6 오류:0 삭제:0 오버런:0 반송파:0
          충돌:0 txqueuelen:100
          RX 바이트:6669(6.5KiB) TX 바이트:504(504.0B)

# netstat -rn
커널 IP 라우팅 테이블
대상 게이트웨이 Genmask 플래그 MSS 창 irtt Iface
10.8.0.2 0.0.0.0 255.255.255.255 어 0 0 0 tun0
95.2.171.0 0.0.0.0 255.255.255.224 유 0 0 0 eth0
192.168.81.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
0.0.0.0 95.2.171.30 0.0.0.0 UG 0 0 0 eth0

# iptables -S
-P 입력 수락
-P 앞으로 수락
-P 출력 수락
-A 입력 -i lo -j 수락
-A 입력 -d 127.0.0.0/8 -i !lo -j REJECT --reject-with icmp-port-unreachable
-A 입력 -i tun0 -j 수락
-A 입력 -m 상태 --상태 관련, 설정됨 -j 수락
-A 입력 -p tcp -m tcp --dport 1194 -j 수락
-A 입력 -m 제한 --limit 5/min -j LOG --log-prefix "iptables 거부됨: " --log-level 7
-A INPUT -j REJECT --icmp-port-접근 불가능으로 거부
-A 출력 -j 수락

# iptables -t nat -S
-P 사전 라우팅 수락
-P 포스트라우팅 수락
-P 출력 수락
-A 포스트라우팅 -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3
-A 포스트라우팅 -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3
-A 포스트라우팅 -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3

# 핑 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) 바이트의 데이터.
8.8.8.8의 64바이트: icmp_req=1 ttl=55 time=12.9 ms
8.8.8.8의 64바이트: icmp_req=2 ttl=55 time=12.8 ms

이것은 OpenVPN 서버(Debian/Linux)의 모든 구성입니다.

OpenVPN 클라이언트 측(Mikrotik RouterOS 6) 구성

/인터페이스 인쇄
플래그: D - 동적, X - 비활성화, R - 실행 중, S - 슬레이브
 # 이름 유형 실제-MTU L2MTU MAX-L2MTU MAC-주소
 0 R 에테르1 에테르 1500 1600 4076 D4:CA:6D:31:14:F4
 1 S 에테르2 에테르 1500 1598 2028 D4:CA:6D:31:14:F5
 2 S 에테르3 에테르 1500 1598 2028 D4:CA:6D:31:14:F6
 3 S 에테르4 에테르 1500 1598 2028 D4:CA:6D:31:14:F7
 4 S 에테르5 에테르 1500 1598 2028 D4:CA:6D:31:14:F8
 5 RS wlan1 wlan 1500 1600 D4:CA:6D:31:14:F9
 6 R 브릿지1 브릿지 1500 1598 D4:CA:6D:31:14:F5
 7 R ovpn-out1 ovpn-out 1500 FE:3E:27:7D:61:8C

 /인터페이스 브릿지 프린트
플래그: X - 비활성화됨, R - 실행 중
 0 R 이름="브리지1" mtu=자동 실제-mtu=1500 l2mtu=1598 arp=활성화 mac-address=D4:CA:6D:31:14:F5 프로토콜 모드=rstp 우선순위=0x8000 자동-mac=예 관리자 -mac=00:00:00:00:00:00 최대 메시지 연령=20초 전달 지연=15초 전송 보류 횟수=6 노화 시간=5분

/interface 브리지 포트 인쇄
플래그: X - 비활성화됨, I - 비활성 상태, D - 동적
 # 인터페이스 브리지 우선순위 경로-비용 지평선
 0 I 이더넷2 브리지1 0x80 10 없음
 1 I 에테르3 브리지1 0x80 10 없음
 2 I 이더넷4 브리지1 0x80 10 없음
 3 I 이더넷5 브리지1 0x80 10 없음
 4 wlan1 브리지1 0x80 10 없음

 /ip 주소 인쇄
플래그: X - 비활성화됨, I - 유효하지 않음, D ​​- 동적
 # 주소 네트워크 인터페이스
 0 192.168.81.1/24 192.168.81.0 브리지1
 1D 192.168.7.200/24 ​​192.168.7.0 에테르1
 2D 10.8.0.2/32 10.8.0.1 ovpn-out1

 /ip 방화벽 NAT 인쇄
플래그: X - 비활성화됨, I - 유효하지 않음, D ​​- 동적
 0 체인=srcnat 액션=가장 주소=0.0.0.0 out-interface=ether1 로그=log-prefix 없음=""

 /ip 경로 인쇄
플래그: X - 비활성화됨, A - 활성, D - 동적, C - 연결, S - 정적, r - rip, b - bgp, o - ospf, m - mme, B - 블랙홀, U - 도달 불가능, P - 금지
 # DST-주소 PREF-SRC 게이트웨이 거리
 0 광고 0.0.0.0/0 192.168.7.1 0
 1 ADC 10.8.0.1/32 10.8.0.2 ovpn-out1 0
 2 ADC 192.168.7.0/24 192.168.7.200 에테르1 0
 3 ADC 192.168.81.0/24 192.168.81.1 브리지1 0

 /인터페이스 ovpn-클라이언트 인쇄
플래그: X - 비활성화됨, R - 실행 중
 0 R 이름="ovpn-out1" mac-address=FE:3E:27:7D:61:8C max-mtu=1500 connect-to=195.13.171.3 포트=1194 모드=ip user="클라이언트" 비밀번호=" " 프로필=기본 인증서=클라이언트 인증=sha1 cipher=aes256 add-default-route=no

 /핑 10.8.0.1
  시퀀스 호스트 크기 TTL 시간 상태
    0 10.8.0.1 56 64 6ms
    1 10.8.0.1 56 64 9ms
    2 10.8.0.1 56 64 7ms
    3 10.8.0.1 56 64 6ms
    전송됨=4 수신됨=4 패킷 손실=0% min-rtt=6ms 평균-rtt=7ms 최대-rtt=9ms

보시다시피 Mikrotik에서 OpenVPN 서버를 ping할 수 있습니다. 하지만 로컬 PC에서 인터넷을 사용하면 내가 보고 싶은 IP 주소가 아닌 81.190.190.100의 IP 주소가 표시됩니다. OpenVPN 서버 IP - 95.2.171.3입니다.

노트북(192.168.81.100/24)에서 10.8.0.1로 ping/traceroute를 성공적으로 수행할 수 있지만 VPN 터널을 통해 라우팅되지 않는 이유를 이해할 수 없습니다. 서버(Linux) 또는 클라이언트(mikrotik) 라우팅에 뭔가 빠진 것 같습니다.

당신의 도움을 주셔서 감사합니다! 나는 지금 한동안 이것을 플레이하고 있는데 실행할 수 없습니다 :(

좋은 하루 보내세요!

답변1

mikrotik에 경로(기본 게이트웨이)가 없기 때문에 클라이언트가 OVPN 터널을 통해 라우팅하지 않습니다!

따라서 OVPN 서버 10.8.0.1의 대상이 있는 라우팅 표시가 있는 mikrotik에 다른 게이트웨이를 추가하세요.

 /ip route add dst-address=0.0.0.0/0 gateway=10.8.0.1 routing-mark=clientmark

물론 다음과 같이 라우팅 표시에 대한 맹글 규칙을 추가해야 합니다.

/ip firewall mangle add action=mark-routing chain=prerouting src-address=192.168.81.0/24 new-routing-mark=clientmark

또한 클라이언트(src-addresses 192.168.81.0/24)에 대한 nat 규칙이 있어야 합니다.

ip firewall nat add action=masquerade chain=srcnat src-address=192.168.81.0/24 out-interface=ovpn-out1

관련 정보