내 사용자 계정 중 하나의 모든 트래픽이 VPN 연결을 통해 라우팅될 수 있도록 설정을 조정하려고 합니다. 지금까지 나는 이것을 달성하지 못했습니다.
운영 체제: Fedora27
Network Manager GUI를 통해 VPN에 연결된 경우(모든 트래픽이 VPN을 통과하며 VPN이 작동함) $ip 라우팅:
default via 10.5.0.1 dev tun0 proto static metric 50
default via 192.168.0.1 dev enp0s3 proto static metric 100
192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.15 metric 100
10.5.0.0/16 dev tun0 proto kernel scope link src 10.5.1.112 metric 50
$VPNIP via 192.168.0.1 dev enp0s3 proto static metric 100
내가 취한 단계(이 문서에서는 VPN IP를 $VPNIP로 대체함):
두 번째 사용자 계정 $user2(UID 1001) 만들기
두 번째 라우팅 테이블을 만듭니다.
echo 100 vpn >> /etc/iproute2/rt_tables
VPN을 통해 모든 트래픽을 전달하지 않도록 기본 경로 테이블을 설정합니다.
nmcli connection modify VPN ipv4.never-default true
$user2의 패킷을 표시하도록 iptables를 설정합니다.
*nat
: 라우팅 전 승인 [0:0]
: 입력 승인 [0:0]
: 출력 승인 [3:180]
: POSTROUTING 승인 [3:180]
-A POSTROUTING -m mark --mark 0xb -j MASQUERADE
COMMIT*mangle
: 라우팅 전 승인 [903:366886]
: 입력 승인 [903:366886]
: 전달 승인 [0:0]
: 출력 승인 [872:617897]
: 라우팅 후 승인 [872:617897]
-A 출력 - m all by --uid-owner1001 -j mark --set-xmark 0xb/0xffffffff
커밋*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
# lo
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
# 생성 허용
-A INPUT -m state --state ESTABLISHED -j ACCEPT
# VPN 허용
-A OUTPUT -mowner --uid-owner 0 -d $VPNIP -p tcp --dport 443 -j ACCEPT
# VPN 허용
-A OUTPUT - o tun0 -m 소유자 --uid-owner 0 -d 10.5.0.1 -p udp --dport 53 -j 수락
-A 출력 -o tun0 -m 소유자 --uid-owner 1001 10.5.0.1 -p udp -- dport 53 -j 수락
# VPN http 허용
-A 출력 -o tun0 -m 소유자 --uid-owner 1001 -p tcp --dport 80 -j 수락
-A 출력 -o tun0 -m 소유자 --uid-owner 1001 -p tcp --dport 443 -j 수락
# ssh
-A 입력 허용 -i enp0s3 -p tcp --dport 22 -j 수락
-A 출력 -o enp0s3 -p tcp --sport 22 -j 수락
제출테이블 100을 통해 라우팅되도록 태그가 지정된 패킷을 설정하는 IP 규칙을 추가합니다.
ip rule add fwmark 11 table 100
작동 중인 기본 경로의 모든 행을 테이블 100에 복사합니다.
ip route add default via 10.5.0.1 dev tun0 proto static metric 50 table 100 ip route add default via 192.168.0.1 dev enp0s3 proto static metric 100 table 100 ip route add 192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.15 metric 100 table 100 ip route add 10.5.0.0/16 dev tun0 proto kernel scope link src 10.5.1.112 metric 50 table 100 ip route add $VPNIP via 192.168.0.1 dev enp0s3 proto static metric 100 table 100
문제: 작동하지 않고 경로가 지속되지 않는 것 같습니다. 도움을 주시면 대단히 감사하겠습니다!