From 74365f53d59b81505db96b9b40a3580fcc8789bb Mon Sep 17 00:00:00 2001 From: luqiuwen Date: Sat, 22 Jun 2019 13:13:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0tfe-env=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=96=87=E4=BB=B6=EF=BC=8C=E6=9B=BF=E4=BB=A3?= =?UTF-8?q?=E5=8E=9F=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/CMakeLists.txt | 4 ++- script/service/tfe-env-config | 6 ++++ script/service/tfe-env.service | 46 +++++++++++++++++++++++++++ script/{system => sysctl}/80-tfe.conf | 0 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 script/service/tfe-env-config create mode 100644 script/service/tfe-env.service rename script/{system => sysctl}/80-tfe.conf (100%) diff --git a/script/CMakeLists.txt b/script/CMakeLists.txt index 47b4745..04273ea 100644 --- a/script/CMakeLists.txt +++ b/script/CMakeLists.txt @@ -1,3 +1,5 @@ install(PROGRAMS user/r2_tfe DESTINATION ./ COMPONENT Program) install(PROGRAMS user/r3_tfe DESTINATION ./ COMPONENT Program) -install(FILES system/80-tfe.conf DESTINATION /etc/sysctl.d/ COMPONENT Program) +install(FILES sysctl/80-tfe.conf DESTINATION /etc/sysctl.d/ COMPONENT Program) +install(FILES service/tfe-env.service DESTINATION /usr/lib/systemd/system/ COMPONENT Program) +install(FILES service/tfe-env-config DESTINATION /etc/sysconfig/ COMPONENT Profile) diff --git a/script/service/tfe-env-config b/script/service/tfe-env-config new file mode 100644 index 0000000..70e13dd --- /dev/null +++ b/script/service/tfe-env-config @@ -0,0 +1,6 @@ + +TFE_DEVICE_DATA_INCOMING=ens1f1 +TFE_LOCAL_MAC_DATA_INCOMING=fe:65:b7:00:00:01 +TFE_PEER_MAC_DATA_INCOMING=aa:bb:cc:dd:ee:ff +TFE_LOCAL_IP_DATA_INCOMING=172.16.241.2 +TFE_PEER_IP_DATA_INCOMING=172.16.241.1 diff --git a/script/service/tfe-env.service b/script/service/tfe-env.service new file mode 100644 index 0000000..6dc3f9c --- /dev/null +++ b/script/service/tfe-env.service @@ -0,0 +1,46 @@ +[Unit] +Description=Tango Frontend Engine - Running Environment Setup + +[Service] +EnvironmentFile=/etc/sysconfig/tfe-env-config +Type=oneshot +RemainAfterExit=yes + +# all works are done in execstartpre, this is only a fake target +ExecStart=/bin/true +ExecStop=/bin/true + +# dataincoming interface +ExecStartPost=/usr/sbin/ip link set ${TFE_DEVICE_DATA_INCOMING} address ${TFE_LOCAL_MAC_DATA_INCOMING} +ExecStartPost=/usr/sbin/ip link set ${TFE_DEVICE_DATA_INCOMING} up +ExecStartPost=/usr/sbin/ip addr flush dev ${TFE_DEVICE_DATA_INCOMING} +ExecStartPost=/usr/sbin/ip addr add ${TFE_LOCAL_IP_DATA_INCOMING}/30 dev ${TFE_DEVICE_DATA_INCOMING} +ExecStartPost=/usr/sbin/ip neigh flush dev ${TFE_DEVICE_DATA_INCOMING} +ExecStartPost=/usr/sbin/ip neigh add ${TFE_PEER_IP_DATA_INCOMING} lladdr ${TFE_PEER_MAC_DATA_INCOMING} dev ${TFE_DEVICE_DATA_INCOMING} nud permanent + +# policy route +ExecStartPost=/usr/sbin/ip rule add iif ${TFE_DEVICE_DATA_INCOMING} tab 100 +ExecStartPost=/usr/sbin/ip route add local default dev lo table 100 +ExecStartPost=/usr/sbin/ip rule add fwmark 0x65 lookup 101 +ExecStartPost=/usr/sbin/ip route add default dev ${TFE_DEVICE_DATA_INCOMING} via ${TFE_PEER_IP_DATA_INCOMING} table 101 + +# policy route v6 +ExecStartPost=/usr/sbin/ip addr add fd00::02/64 dev ${TFE_DEVICE_DATA_INCOMING} +ExecStartPost=/usr/sbin/ip -6 route add default via fd00::01 +ExecStartPost=/usr/sbin/ip -6 rule add iif ${TFE_DEVICE_DATA_INCOMING} tab 102 +ExecStartPost=/usr/sbin/ip -6 route add local default dev lo table 102 +ExecStartPost=/usr/sbin/ip -6 neigh add fd00::01 lladdr ${TFE_PEER_MAC_DATA_INCOMING} dev ${TFE_DEVICE_DATA_INCOMING} nud permanent + +# stop +ExecStopPost=/usr/sbin/ip rule del iif ${TFE_DEVICE_DATA_INCOMING} tab 100 +ExecStopPost=/usr/sbin/ip route del local default dev lo table 100 +ExecStopPost=/usr/sbin/ip rule del fwmark 0x65 lookup 101 +ExecStopPost=/usr/sbin/ip route del default dev ${TFE_DEVICE_DATA_INCOMING} via ${TFE_PEER_IP_DATA_INCOMING} table 101 +ExecStopPost=/usr/sbin/ip -6 rule del iif ${TFE_DEVICE_DATA_INCOMING} tab 102 +ExecStopPost=/usr/sbin/ip -6 route del default via fd00::01 +ExecStopPost=/usr/sbin/ip -6 route del local default dev lo table 102 +ExecStopPost=/usr/sbin/ip addr del fd00::02/64 dev ${TFE_DEVICE_DATA_INCOMING} +ExecStopPost=/usr/sbin/ip link set ${TFE_DEVICE_DATA_INCOMING} down + +[Install] +WantedBy=multi-user.target diff --git a/script/system/80-tfe.conf b/script/sysctl/80-tfe.conf similarity index 100% rename from script/system/80-tfe.conf rename to script/sysctl/80-tfe.conf