FortiGate에 연결하고 IPsec VPN 터널을 통해 지속적 통합 서버에 액세스하려고 합니다.
FortiGate 구성을 제어할 수 없습니다.
Windows 10을 실행하는 노트북에서 FortiClient를 사용하여 http://ourCIserver:8080
.
이제 Arch Linux 4.14.15를 실행하는 다른 노트북이 있고강한 백조5.6.1 IPsec 터널을 설정합니다.
sudo ipsec restart
다행스럽게도 터널의 마지막 부분을 보면 다음을 호출할 때 터널이 설정된 것으로 보입니다 sudo ipsec statusall
.
Status of IKE charon daemon (strongSwan 5.6.1, Linux 4.14.15-1-ARCH, x86_64):
uptime: 8 seconds, since Feb 14 15:45:58 2018
malloc: sbrk 2789376, mmap 0, used 869600, free 1919776
worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 5
loaded plugins: <omitted>
Listening IP addresses:
10.0.0.1
Connections:
myConn: %any...vpn.the-vpn-server.com IKEv1 Aggressive, dpddelay=30s
myConn: local: [theuser] uses pre-shared key authentication
myConn: local: [theuser] uses XAuth authentication: any
myConn: remote: uses pre-shared key authentication
myConn: child: dynamic === 10.7.0.0/24 TUNNEL, dpdaction=clear
Shunted Connections:
Bypass LAN 10.0.0.0/24: 10.0.0.0/24 === 10.0.0.0/24 PASS
Bypass LAN ::1/128: ::1/128 === ::1/128 PASS
Bypass LAN fe80::/64: fe80::/64 === fe80::/64 PASS
Security Associations (1 up, 0 connecting):
myConn[1]: ESTABLISHED 7 seconds ago, 10.0.0.1[theuser]...83.xxx.xxx.xx[83.xxx.xxx.xx]
myConn[1]: IKEv1 SPIs: 9ecabd502184611d_i* 1e7f83412c3aa933_r, pre-shared key+XAuth reauthentication in 7 hours
myConn[1]: IKE proposal: <encryption-hash-diffie-hellman-group>
myConn{1}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: cf636a4c_i 98552ddb_o
myConn{1}: <encryption-hash-diffie-hellman-group>, 0 bytes_i, 0 bytes_o, rekeying in 12 minutes
myConn{1}: 10.0.0.1/32 === 10.7.0.0/24
연결이 설정되었지만 연결할 수 없습니다. http://ourCIserver:8080
이것이 바로 제가 원하는 것입니다.
iptables
DNS에 일부 구성이 누락된 것 같습니다 .
DNS에 관해 FortiClient(Windows) 구성 중 다음 형식으로 변환할 수 없는 부분이 있습니다 /etc/ipsec.conf
.
<use_vip>1</use_vip>
<virtualip>
<type>dhcpoveripsec</type>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<dnsserver>0.0.0.0</dnsserver>
<winserver>0.0.0.0</winserver>
</virtualip>
시스템 설정
다음은 제가 관련이 있다고 생각하는 시스템 구성입니다. 제가 게시하고 싶은 내용을 알려주세요.
iptables-save
# Generated by iptables-save v1.6.1 on Wed Feb 14 16:31:09 2018
*filter
:INPUT ACCEPT [5889:5448467]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4843:436153]
-A INPUT -s 10.7.0.0/24 -d 10.0.0.1/32 -i wlp3s0 -m policy --dir in --pol ipsec --reqid 1 --proto esp -j ACCEPT
-A OUTPUT -s 10.0.0.1/32 -d 10.7.0.0/24 -o wlp3s0 -m policy --dir out --pol ipsec --reqid 1 --proto esp -j ACCEPT
COMMIT
# Completed on Wed Feb 14 16:31:09 2018
ip route
default via 10.0.0.138 dev wlp3s0 src 10.0.0.1 metric 303
10.0.0.0/24 dev wlp3s0 proto kernel scope link src 10.0.0.1 metric 303
ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:1e:33:a8:53:c6 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 00:22:fa:91:3e:02 brd ff:ff:ff:ff:ff:ff
sudo ip xfrm policy
src 10.0.0.1/32 dst 10.7.0.0/24
dir out priority 371327
tmpl src 10.0.0.1 dst 83.xxx.xxx.xx
proto esp spi 0x98552dde reqid 1 mode tunnel
src 10.7.0.0/24 dst 10.0.0.1/32
dir fwd priority 371327
tmpl src 83.xxx.xxx.xx dst 10.0.0.1
proto esp reqid 1 mode tunnel
src 10.7.0.0/24 dst 10.0.0.1/32
dir in priority 371327
tmpl src 83.xxx.xxx.xx dst 10.0.0.1
proto esp reqid 1 mode tunnel
src fe80::/64 dst fe80::/64
dir fwd priority 134463
src fe80::/64 dst fe80::/64
dir in priority 134463
src fe80::/64 dst fe80::/64
dir out priority 134463
src ::1/128 dst ::1/128
dir fwd priority 68927
src ::1/128 dst ::1/128
dir in priority 68927
src ::1/128 dst ::1/128
dir out priority 68927
src 10.0.0.0/24 dst 10.0.0.0/24
dir fwd priority 175423
src 10.0.0.0/24 dst 10.0.0.0/24
dir in priority 175423
src 10.0.0.0/24 dst 10.0.0.0/24
dir out priority 175423
src 0.0.0.0/0 dst 0.0.0.0/0
socket in priority 0
src 0.0.0.0/0 dst 0.0.0.0/0
socket out priority 0
src 0.0.0.0/0 dst 0.0.0.0/0
socket in priority 0
src 0.0.0.0/0 dst 0.0.0.0/0
socket out priority 0
src ::/0 dst ::/0
socket in priority 0
src ::/0 dst ::/0
socket out priority 0
src ::/0 dst ::/0
socket in priority 0
src ::/0 dst ::/0
socket out priority 0
/etc/ipsec.conf
config setup
charondebug = "dmn 1, mgr 1, ike 2, chd 1, job 1, cfg 3, knl 2, net 2, enc 1, lib 1"
conn myConn
keyexchange = ikev1
ike = <encryption-hash-diffie-hellman-group>
esp = <encryption-hash-diffie-hellman-group>
aggressive = yes
ikelifetime = 28800s
right = 83.xxx.xxx.xx
#right = vpn.the-vpn-server.com
rightsubnet = 10.7.0.0/24
rightid = %any
rightauth = psk
rightdns = 0.0.0.0,8.8.8.8,8.8.4.4
left = %defaultroute
leftauth = psk
leftauth2 = xauth
xauth_identity = "theuser"
auto = start
/etc/ipsec.secrets
# ipsec.secrets - strongSwan IPsec secrets file
: PSK "secret_preshared_key"
: XAUTH "secret_xauth_password"
연결하는 데 DNS가 필요하지 않습니다✔️
roaima 사용자의 제안에 따라 IP 주소를 통해 CI 서버에 연결했습니다.http://10.7.0.50:8080/
이 부분을 다음에서 제거한 후: DNS 없는 작업이 성공했습니다 /etc/ipsec.conf
.
lifebytes = 5120
lifebytes
특정 바이트 수가 전송된 후 보안 연결이 만료됩니다. 내 경우에는 클라이언트와 서버가 다시 연결할 수 없습니다.
로그에는 다음 lifebytes
으로 인한 만료가 있습니다.
[KNL] received a XFRM_MSG_EXPIRE
이제 CI 서버 대시보드의 HTML을 다운로드할 수 있습니다 wget -O- --header 'Host: ourCIserver' 10.7.0.50:8080/
.
보다 유용하게도 Firefox는 IP 주소를 사용하여 CI 서버에 연결하고 HTML을 렌더링할 수 있습니다.
이는 이제 연결이 작동하고 HTTP 트래픽을 허용한다는 의미입니다. 이는 좋은 소식입니다.
DNS로 연결
나는 추가했다
rightdns = 0.0.0.0,8.8.8.8,8.8.4.4
하지만 /etc/ipsec.conf
실패했다ping ourCIserver
Name or service not known
아직 운이 없네traceroute ourCIserver
ourCIserver: Name or service not known
Cannot handle "host" cmdline arg `ourCIserver' on position 1 (argc 1)
다음은 DNS가 작동하는 Windows용 FortiClient의 DNS 관련 구성입니다.
<virtualip>
<type>dhcpoveripsec</type>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<dnsserver>0.0.0.0</dnsserver>
<winserver>0.0.0.0</winserver>
</virtualip>
에서 IP/호스트 매핑을 제공함으로써 DNS 문제를 해결할 수 있지만 /etc/hosts
, 물론 DNS를 얻기 위해 터널 반대편 끝에 있는 서버를 사용하는 것이 더 나을 것입니다.
#<ip-address> <hostname.domain.org> <hostname>
10.7.0.50 ourCIserver ourCIserver
결론적으로
/etc/ipsec.conf
위의 방법을 사용하여 VPN에 연결할 수 있습니다 . DNS가 작동하지 않지만 나에게는 괜찮습니다.
나는 증류했다답변이러한 노력으로 StrongSwan을 사용하여 FortiGate에 연결하려는 사람들을 위한 것입니다.
답변1
나는 가지고있다블로그를 쓰다마침내 그것이 필요했을 때. 주요 요령은 Fortinet에 공격적 모드가 필요하므로 구성 매개변수가 처음부터 밀접하게 일치해야 한다는 것입니다.
참고로 제 구성은
conn fortinet
left=%any
leftauth=psk
leftid=""
leftauth2=xauth
xauth_identity="your username"
leftsourceip=%config
right=gateway IP address
rightsubnet=VPN subnet
rightauth=psk
keyexchange=ikev1
aggressive=yes
ike=aes128-sha1-modp1536!
esp=aes128-sha1-modp1536!
auto=add
PSK 및 XAUTH 키도 구성해야 합니다.
지금은 2016년이므로 ike 및 esp 모드가 더 긴 키를 사용하도록 업데이트되었을 수 있습니다. 각 모드에 대해 특정 비밀번호를 적용한다는 점에 유의하세요.