or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
郷に入っては郷に従え
問題文
153.127.196.222
ubuntu
SABJSeLyiBkgSE
2019-08-29T22:36:06+09:00
WEBサーバを運用する部署に所属することになったあなたは、前任者が構築したサーバを引き継ぐことになりました。現在の状態、発生した問題などについて、前任者の報告がありました。
LXCを使用してWEBサーバを構築しました。コンテナではapacheが1234/tcpで起動しています。
LXCホストのiptablesでホスト80/tcpへの通信をコンテナ1234/tcpへ転送するDNATの設定をしました。VNCサーバからLXCホストの80/tcpへアクセスすると無事にWEBサーバの起動を確認できました。
しかし、システムのアップデートをしようと思ったらコンテナからaptコマンドを使用できなくなりました。
どうやら、担当者は少々無理をしてコンテナのWEBサーバを外部に公開したようです。原因の究明と適切な設定を施してほしいです。設定は永続化し、再起動などが行えるようにしてください。
ゴール
情報
192.168.0.1
admin
3tRC7llZ
dnat.service
ubuntu-dnat
/home/admin/dnat.sh
回答
お疲れさまです。大橋です。
問題「郷に入っては郷に従え」の回答をお送りいたします。
原因究明
sudo iptables -t nat -L --line-numbers
でNATルールを見たところ、以下のように「ホストに到達した80番ポート向けTCPパケットは、すべて10.176.76.106:1234へ宛先変更する」というルールが設定されていました。したがって、コンテナ内から80番ポート向けTCPパケットを送信すると、次にホストに到達するため、そこで10.176.76.106:1234へ宛先変更されてしまい、正しい宛先に届かなくなります。
以上により、内部処理でHTTP通信を行う
apt update
がコンテナ内で失敗するようになったと考えられます。解決
今回の問題は以下のような操作を行い解決いたしました。
以下にそれを実行するコマンドをお送りいたします。
コマンド
動作の確認
踏み台サーバー・コンテナ内で以下のコマンドを実行し、正しく動作していることを確認しました。
踏み台サーバー
コンテナ内