eth1을 구성하고 항상 원격 액세스에 사용할 수 있도록 하려면 어떻게 해야 합니까? 여기서 eth0은 호스트 간 IPSec VPN에 사용됩니다.

eth1을 구성하고 항상 원격 액세스에 사용할 수 있도록 하려면 어떻게 해야 합니까? 여기서 eth0은 호스트 간 IPSec VPN에 사용됩니다.

저는 Red Hat Enterprise Linux를 사용하여 두 개의 네트워크 인터페이스가 있는 Amazon EC2 인스턴스를 실행하고 있습니다.

지금:

  1. eth0은 현재 공용 IP로 활성화되어 있으며 SSH를 통해 원격으로 로그인하여 VPN을 구성합니다(VPN이 완료되면 더 이상 해당 IP 및 인터페이스에 원격으로 액세스할 수 없습니다).

  2. eth1이 표시됩니다(Amazon을 사용하여 다른 새 공용 IP를 할당했지만 SSH를 사용하여 핑하거나 로그인할 수 없습니다).

  3. eth1이 작동하고 원격으로 액세스할 수 있게 되면 eth0에서 VPN 클라이언트를 구성하여 다른 원격 서버에 연결해야 합니다.

eth1에 원격으로 액세스할 수 있고 eth0을 호스트 간 VPN IPSec 호스트 전용으로 사용할 수 있도록 eth1을 어떻게 설정합니까?

[ec2-user@ip-10-0-0-41 ~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 0e:29:01:a8:c6:98 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.41/24 brd 10.0.0.255 scope global eth0
    inet6 fe80::c29:1ff:fea8:c698/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 0e:29:01:a9:6e:32 brd ff:ff:ff:ff:ff:ff

편집하다:

$ system-config-network-tui
eth1 is added as dhcp

$ ifup eth1
Determining IP information for eth1...

편집하다:

$ ssh [email protected]  - fails
$ ssh [email protected]  - allow to login
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 0e:29:01:a8:c6:98 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.41/24 brd 10.0.0.255 scope global eth0
    inet6 fe80::c29:1ff:fea8:c698/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 0e:29:01:a9:6e:32 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.110/24 brd 10.0.0.255 scope global eth1
    inet6 fe80::c29:1ff:fea9:6e32/64 scope link 
       valid_lft forever preferred_lft forever

편집하다:

$ yum install openswan
$ cat /etc/ipsec.conf
version 2.0 # conforms to second version of ipsec.conf specification
config setup
    protostack=netkey
    nat_traversal=yes
    virtual_private=
    oe=off
include /etc/ipsec.d/*.conf

$ cat /etc/ipsec.d/test.conf

### Administrator given this to setup
# Phase1: Encryption: AES128 Integrity: MD5 IKE Lifetime: 28800 sec.
# Phase2: Encryption: AES128 Integrity: MD5 IPsec lifetime: 3600 sec.

### Red hat we use Phase 1 and Phase 2 for IPSec 
conn test
    type=tunnel
    authby=secret
    pfs=no
    # Lifetime: 1440 sec
    ike=aes128-md5;modp1024!
    # Lifetime: 3600 sec
    phase2alg=aes128-md5;modp1024
    aggrmode=no    
    left=194.x.x.x
    right=54.x.x.x
    leftsubnet=10.109.0.0/24
    rightsubnet=10.0.0.0/24
    #auto=start

$ service ipsec restart && ipsec auto --add test
ipsec_setup: Stopping Openswan IPsec...
ipsec_setup: Starting Openswan IPsec U2.6.32/K2.6.32-358.6.2.el6.x86_64...
ipsec_setup: /usr/libexec/ipsec/addconn Non-fips mode set in /proc/sys/crypto/fips_enabled
/usr/libexec/ipsec/addconn Non-fips mode set in /proc/sys/crypto/fips_enabled

$ ipsec auto --up test
022 "test": We cannot identify ourselves with either end of this connection.
  • 추가가 오류 없이 작동하면 구성 파일이 올바른 것이며 나머지는 터널의 다른 문제입니다.

답변1

효과가있다!

#!/bin/bash
# Version 1.0 - Stable
# --------------------------------------------
# Amazon EC2 instance + VPC + RHEL 6.4 64-bit
# eth0: 10.0.0.108  public ip: 8.8.8.8
# eth1: 10.0.0.27   public ip: 9.9.9.9
# 
# VPN Sever: 2.2.2.2
#

amazonEth0="10.0.0.8"
amazonWan0="8.8.8.8"
vpnServer="2.2.2.2"
hosttoHost=(10.109.0.20/32 10.109.0.21/32 10.109.58.6/32 10.109.59.3/32)
pingHost=(10.109.0.20 10.109.0.21 10.109.58.6 10.109.59.3)

# Step 0
yum -y install openswan

cat > /etc/ipsec.d/secret.secrets << EOF
# Step 1
$vpnServer 0.0.0.0 %any: PSK "123"
EOF

cat > /etc/ipsec.conf << \EOF
# Step 2
version 2.0 # conforms to second version of ipsec.conf specification
config setup
    plutodebug="all"
        plutostderrlog=/var/log/pluto.log
    protostack=netkey
    nat_traversal=no
    virtual_private=
    oe=off
include /etc/ipsec.d/*.conf
EOF

for i in 1 2 3 4
do
cat > /etc/ipsec.d/test$i.conf << EOF
#Step 3
conn test$i
    #auto=start
    type=tunnel
    authby=secret
    pfs=no
    aggrmode=no
    ikelifetime=28800s
    lifetime=3600s
    ike=aes128-md5;modp1024!
    phase2alg=aes128-md5;modp1024
    forceencaps=yes
    left=$amazonEth0
    leftid=$amazonWan0
    leftsourceip=$amazonWan0
    right=$vpnServer
    rightsubnet=${hosttoHost[$i-1]}
EOF
done

### Run me
cat > /tmp/vpn.sh << EOF
#!/bin/bash
service ipsec restart
ipsec auto --add test1
ipsec auto --add test2
ipsec auto --add test3
ipsec auto --add test4

ipsec auto --up test1
ipsec auto --up test2
ipsec auto --up test3
ipsec auto --up test4

ipsec auto --status
ip xfrm policy
ip route show
ping -c 1 ${pingHost[0]}; 
ping -c 1 ${pingHost[1]};
ping -c 1 ${pingHost[2]}; 
ping -c 1 ${pingHost[3]}; 

EOF
chmod +x /tmp/vpn.sh

# Finishing - touch
/tmp/vpn.sh

관련 정보