Fedora 19 tftpサーバの構成


プロジェクトが必要なので、通常の方法でtftpサーバのインストールと構成を行います.
1. yum install tftp* -y
yumは、インストールプラットフォームに適したtftpクライアント、サーバ、依存パッケージを自動的に検索します.
2. vim/etc/xinetd.d/tftp
エディタでtftpのプロファイルを開き、2つのserver_を変更します.argsとdisable.次のように構成されています.
service tftp
{
	socket_type		= dgram
	protocol		= udp
	wait			= yes
	user			= root
	server			= /usr/sbin/in.tftpd
	# server_args		= -s /var/lib/tftpboot
	# disable			= yes
	server_args		= -s /tftpboot -c
	disable			= no
	per_source		= 11
	cps			= 100 2
	flags			= IPv4
}
3. chmod 777/tftpboot
tftpboot権限を最大化します.
4. setenforce 0
selinuxモードを記録のみブロックしないように変更します.
5. service iptables stop
ファイアウォールを閉じる.
6. service xinetd restart
xinetdを再起動すると、tftpサーバが開きます.保険のためにサービスxinetd enableをもう1つ実行します.一部のlinuxでは、chkconfig xinetd onまたはchkconfig tftp onチェック方式を実行できる場合があります.
7.サービスが正常に開始されたか、正常に終了したかを確認します.
    sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

    service iptables status
Redirecting to /bin/systemctl status  iptables.service
iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled)
   Active: inactive (dead)

    service xinetd status
Redirecting to /bin/systemctl status  xinetd.service
xinetd.service - Xinetd A Powerful Replacement For Inetd
   Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled)
   Active: active (running) since Sun 2013-09-01 09:47:25 CST; 44min ago
  Process: 2352 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 2353 (xinetd)
   CGroup: name=systemd:/system/xinetd.service
           └─2353 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid

    netstat -a | grep tftp
udp        0      0 *:tftp                  *:*    

8.以上に合格しても安心できないので、自分でサーバーをテストします.
    cd/tftpboot
    touch aaa
    cd/home
    touch bbb
    tftp 127.0.0.1
    get aaa
    put bbb
    q
以上の手順で、サーバのダウンロードとアップロード機能をテストします.成功すると一般的にhomeとtftpbootディレクトリの下にaaaとbbbファイルがあります.
従来のFedora 17では、この方法はtftpを完璧に使用しています.しかしFedora 19では問題が発生し、以上の方法でFedora 19ローカルサーバはすべて通過できるが、携帯電話や開発ボード、さらには別のホストでもtftpサーバに接続できない.頭が大きいですね.このような問題は私を何日も苦しめています.私のデバッグ手順は:
1.従来のtftp方式で操作
ローカルで通過し、リモートではできません.
2.以前のUディスクFedora 17を開いてテストする
ハードウェアおよびハードウェア上のtftpクライアントの問題を排除します.
3.さまざまな方法を試し続けます.
依存パッケージの問題を排除します.
tftpクライアントサーバを再インストールしてインストールエラーの問題を排除します.
tftp公式サイトの説明を確認し、64ビットシステムと32システムの互換性の問題を排除します.
Fedora公式サイトの説明書をチェックして、基本的に方法の問題を排除することができます.
各英語サイトと中国語サイトを検索してより肯定的な方法は大丈夫です.
   
このようなサーバーで、私はもうすぐ天に振り回されます.解決策がないのか、ネット上でFedora 19を見つけることができるtftp資料が少なすぎて、繰り返しテストの中で、私はFedora 17に戻る考えがあります.まさか1つのこんなに大きい正式版のシステムは1つのtftpサーバーさえサポートしませんか?絶望の中で依然として堅持して、私もFedora 19が私を失望させないことを信じます.はい、問題を解決しました.私自身も自分の根性に屈服した.
解決方法:
ファイアウォールグラフィックインタフェースを開き、rootパスワードを2回入力した後、Zone項目でpublicを選択し、右側のServicesでtftpとtftp-clientをチェックします.奇跡的に通じて、私はまた神馬を言うことができて、ファイアウォールのIPv 4はすべて閉じて、意外にもまだ有効です.え~小BUGなのかFedora 19なのか安全すぎて、一本では通れない時もあるんですが、システムのシナリオをあまり信じられません.