最新記事

tc filter - カーネルとの通信中にエラーが発生しました。
linux
networking
tc
amazon-linux

tc filter - カーネルとの通信中にエラーが発生しました。

Geneveプロトコルにtcフラワーフィルタを追加しようとすると、次のエラーが発生します。 % sudo tc filter add dev gnv0 protocol ip parent ffff: \ flower geneve_opts 0108:01:020000000000000000/FFFF:FF:FF0000000000000000,0108:02:020000000000000000/FFFF:FF:FF0000000000000000,0108:03:0100000000/FFFF:FF:FF00000000 \ action tunnel_key unset RTNETLINK answers: No such file or directory We have an error talking to the kernel 私はAmazon Linuxを使用しています。 % uname -a Linux ip-10-0-40-230.ec2.internal 4.14.311-233.529.amzn2.x86_64 #1 SMP Thu Mar 23 09:54:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux トラフィックをミラーリングする AWS Gateway Load Balancer で GENEVE UDP トンネルを終了したいと思います。アイデアは、パケットを元の形式で解放することです。私もこれを試しましたが、vxlan_opts成功しませんでした。したがって、質問はフィルタよりもtcに対してより具体的なようです。 オンラインで提案されたいくつかのカーネルモジュールをロードしました(必要なのか十分なのかわかりません)。 % lsmod | grep sch sch_htb 24576 0 sch_netem 20480 0 sch_ingress 16384 1 完全な例: sudo yum install tc sudo modprobe sch_netem sudo modprobe sch_htb sudo ip link add name gnv0 type geneve dstport 6081 external sudo ip link set gnv0 up sudo tc qdisc add dev gnv0 ingress sudo tc filter add dev gnv0 protocol ip parent ffff: \ flower geneve_opts 0108:01:020000000000000000/FFFF:FF:FF0000000000000000,0108:02:020000000000000000/FFFF:FF:FF0000000000000000,0108:03:0100000000/FFFF:FF:FF00000000 \ action tunnel_key unset AL2023で試してみましたが、同様のエラーが発生しました。 sudo ip link add name gnv0 type geneve dstport 6081 external sudo ip link set gnv0 up sudo tc qdisc add dev gnv0 ingress sudo tc filter add dev gnv0 protocol ip parent ffff: \ flower geneve_opts 0108:01:020000000000000000/FFFF:FF:FF0000000000000000,0108:02:020000000000000000/FFFF:FF:FF0000000000000000,0108:03:0100000000/FFFF:FF:FF00000000 \ action tunnel_key unset Error: Failed to load TC action module. We have an error talking to the kernel

Admin

リバーストンネル
networking
port-forwarding
tunneling
reverse-proxy

リバーストンネル

簡略化のためにサーバー名を指定します。server-A, server-B server-A- シンプルなサーバーパブリックIP保持、サーバーには1Gメモリがあり、CPUを共有します。 server-B- より多くのRAM、CPUコアなどを備えたより強力なサーバーしかし、公開IPはありません。、私はアクセスできないルータを通過するため、そのサーバーをポート転送できません。 server-B人々が接続し、サービスの重いコンピューティングを実行できるようにサービスを実行したいと思います。server-B ポート転送ができないため、server-Bリバースシェルなどのタスクを実行できるネットワークサービスがあるかどうか疑問に思います。接続を開始してトンネルを作成し、次にトラフィックを転送するサービスではserver-Bありませんか?server-Aserver-Aserver-B 最後に、人々はserver-A特定のポート(8080など)に接続し、server-A要求を受け入れてからそれを共有server-Bトンネルに転送します。 可能ですか? ノート それらは同じLAN上になく、まったく異なる場所にあり、server-Bインターネットに直接接続できますが、直接接続することはできませんserver-A。server-Aserver-B

Admin

nmcliを介した唯一の接続を無効にした後でもネットワークに接続する方法は何ですか?
networking
networkmanager

nmcliを介した唯一の接続を無効にした後でもネットワークに接続する方法は何ですか?

eth1を介してイーサネットに接続され、ネットワーク管理者が管理するシステムがあります。接続はno設定で自動的に接続するように設定されています。起動後のコマンドの失敗により、システムはインターネットにアクセスできませんping。私は接続をうまく開くことができ、nmcli c up eth1これはping成功し、ifconfigeth1のIPアドレスを報告しました。 nmcli c down eth1ただし、再接続を解除(使用)しようとすると、ifconfigインターフェイスのIPアドレスは表示されなくなりますが、ping成功し続けます。それはどのように可能ですか?私がここで何を見逃しているのでしょうか?

Admin

localhostアドレスの代わりにCを使用してLinuxシステムから物理クライアントIPを取得する方法
linux
networking
ip
c
socket

localhostアドレスの代わりにCを使用してLinuxシステムから物理クライアントIPを取得する方法

Cコードを使用してUbuntuシステムからIPアドレスを読み取ろうとします。 #include #include #include #include #include #include #include #include #include #include int main(int argc, char **argv) { int status; struct addrinfo hints, *p; struct addrinfo *servinfo; char ipstr[INET_ADDRSTRLEN]; char hostname[128]; memset(&hints, 0, sizeof hints); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; hints.ai_flags = AI_PASSIVE; gethostname(hostname, 128); if ((status = getaddrinfo(hostname, NULL, &hints, &servinfo)) == -1) { fprintf(stderr, "getaddrinfo error: %s\n", gai_strerror(status)); exit(1); } for (p=servinfo; p!=NULL; p=p->ai_next) { struct in_addr *addr; if (p->ai_family == AF_INET) { struct sockaddr_in *ipv = (struct sockaddr_in *)p->ai_addr; addr = &(ipv->sin_addr); } else { struct sockaddr_in6 *ipv6 = (struct sockaddr_in6 *)p->ai_addr; addr = (struct in_addr *) &(ipv6->sin6_addr); } inet_ntop(p->ai_family, addr, ipstr, sizeof ipstr); } printf("Address: %s\n", ipstr); freeaddrinfo(servinfo); return 0; } 実際のクライアントIPを取得する代わりに192.168.xxを期待していましたが、127.0.1.1を取得します。 /etc/hostsファイルで127.0.1.1にコメントを付けると、実際のIPが得られますが、このソリューションは実現できません。

Admin

MSSが0の場合はどういう意味ですか?
networking
routing

MSSが0の場合はどういう意味ですか?

netstat -rt学習、ルーティングテーブルを確認し、詳細を確認するためにコマンドを使用します。出力はMSSが0であることを示しています。この値はどういう意味ですか?他の値も取ることができますか?これが私に何を教えてくれますか?

Admin

systemd-resolvedはDHCP提供のDNSサーバーを使用しません。 - 暗号化されたIPv6アドレスを使用します。
networking
networkmanager
dns
dhcp

systemd-resolvedはDHCP提供のDNSサーバーを使用しません。 - 暗号化されたIPv6アドレスを使用します。

自宅では、私のルーターはDHCP(192.168.1.1)を提供し、他のサーバーはローカルDNSキャッシュ(192.168.1.157)をホストします。 DHCPv6サーバーがありません。 ルータが正しく設定され、DHCP 経由で送信される唯一のネームサーバは 192.168.1.157 です。同じネットワーク上の他の(Windows、Android)クライアントは、DHCPを介してDNSを正しく設定できます。 しかし、私のPop_OSでは! 20.04システムには、systemd-resolved他の場所から取得したように見える2つの追加のネームサーバーがあります。 ~ resolvectl (snip) Link 3 (wlp0s20f3) Current Scopes: DNS DefaultRoute setting: yes LLMNR setting: yes MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no Current DNS Server: fe80::f6f5:e8ff:fe61:8e90 DNS Servers: fe80::f6f5:e8ff:fe61:8e90 2605:a601:558e:d500::1 192.168.1.157 また、DNSクエリを解決するためにIPv6ネームサーバーを使用しているようです。これは私のLANのDNSサーバーにアクセスしないことを意味します。ランダムに再起動すると、正しいDNSサーバー(192.168.1.157)が使用されますが、これは合計時間の1/3にすぎません。 これらの追加のDNSサーバーはどこで利用できますか?この問題をどのように解決できますか? 注:Ask Ubuntuに欠落しているDNSサーバーに関する他の質問がありましたが、私はこの問題が私のDNSサーバーが「欠落していない」という点でユニークだと思います。 2つの不要なIPv6 DNSサーバーが同伴されただけです。

Admin

ブリーフ
linux
debian
networking
network-interface

ブリーフ

ブリーフ ワークステーションとサーバー間の高速リンクとして機能するように、コンピューター間のネットワーク(スイッチを介して直接関係はありません)を構成しようとしています。どちらもDebian 10システムです。 ネットワークトポロジ これは私のネットワークトポロジ図です。 (内蔵http://asciiflow.com/- 安全ではない可能性があります) +----------------+ | | | ISP Router | | 192.168.0.254 | | | +-+------------+-+ | | | | enp7s0 | | enp7s0 192.168.0.1 | | 192.168.0.2 | | +-----------+-+ +-+------+ | WORKSTATION | | SERVER | +-----------+-+ +-+------+ | | enx... | | enx... 10.0.0.1 +------------+ 10.0.0.2 /etc/network/interfaces文書 ここに私の/etc/network/interfacesファイルがあります(固定アドレスを除いて両方のシステムが同じです)。 source /etc/network/interfaces.d/* # this is empty # The loopback network interface auto lo iface lo inet loopback iface enp7s0 inet static address 10.0.0.1/8 # broadcast 10.255.255.255 # netmask 255.0.0.0 起動状態 両方のシステムのいずれかを起動し、確認インターフェイスを使用した場合のip addr結果は次のとおりです。 2: enp7s0: mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 6c:f0:49:ee:47:a6 brd ff:ff:ff:ff:ff:ff 3: enx...: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether ... brd ff:ff:ff:ff:ff:ff inet 192.168.0.1/24 brd 192.168.0.255 scope global dynamic noprefixroute ... valid_lft 85332sec preferred_lft 85332sec inet6 ... したがって、enp7s0起動時に発生しないようです。これを実行すると、sudo ifup enp7s0予想される固定アドレスが表示され、両方のシステムがこのリンクからSSHを介して通信できます。 起動時にこのインターフェイスを実行するにはどうすればよいですか?

Admin

Debian 10 では、Macchanger はネットワークに接続するまでうまく動作します。
debian
networking
wifi
mac-address

Debian 10 では、Macchanger はネットワークに接続するまでうまく動作します。

この質問にはすでに答えがあります。: 切断後にMACアドレスが変更されるのを防ぐ方法は? (回答3個) 閉鎖4年前。 私はMacchangerを使ってホームネットワークでMACスプーフィング能力をテストしようとしました。 WiFiに接続していない場合でもうまく機能します。 ifconfigを使用すると、インターフェイスをオフにしてMacを変更した後、問題なく再びオンにすることができます。 ifconfigでチェックすると、任意のエーテルが表示されるので、すべてが正常であることがわかります。 ただし、WiFiに接続しようとすると、ifconfigを実行すると元のBIAが表示されます。私のルーターにログインすると、私のBIAもランダムではなく登録されたMACアドレスであることがわかります。 私の質問は:Debianがなりすましアドレスの代わりにWi-FiインターフェイスのBIAに戻るようにするデフォルト設定は何ですか? NetworkManager.confファイルと00-default.linkを変更するように指示するいくつかの異なるガイドに従ってください。しかし何も機能しませんでした。どんな助けでも大変感謝します。ありがとうございます!

Admin

Linux:すべてのUSBネットワークを無効にする(イーサネットとWiFi)
linux
networking
usb
udev

Linux:すべてのUSBネットワークを無効にする(イーサネットとWiFi)

すべてのUSBネットワークデバイス(イーサネットとWiFi)を無効にし、他のすべてのデバイスタイプ(メモリースティックなど)を有効にする方法は? udevルールに使用できる汎用一致キーがありますか? さらにudev、どのようなメカニズムを使用できますか?

Admin

リバースSSHトンネルでconnect_to localhostポート9190:失敗が発生するのはなぜですか?
ssh
networking
ssh-tunneling

リバースSSHトンネルでconnect_to localhostポート9190:失敗が発生するのはなぜですか?

こんにちは。私は大学のリモートサーバーを使用してリバースSSHトンネルを作成しようとしています。私のラップトップで次のコマンドを実行します。 < home >$ ssh -R 9999:localhost:9190 my_user@school_server.edu その後、別の端末を開いて実行します。 < home >$ nc -l 9190 トンネルを作成した端末でログインしたら、次を実行します。 < university >$ nc localhost 9999 他のコンピュータで試してみると、リモートサーバーとローカルコンピュータの接続に問題はありませんが、ラップトップではこのようになります。 < university >$ connect_to localhost port 9190: failed. リモートサーバーでncコマンドを実行するとき。 ラップトップにMacOSとManjaroの両方がインストールされており、両方に問題があるため、ファイアウォールやOSネットワーク構成の問題ではありません。別のネットワークを試してみましたが、問題は解決しません。私はちょうど私の妹のラップトップで同じことをしようとしました、そして私のクラスメートも問題なく働いたので、リモートサーバーは問題になりませんでした。 このような問題が発生する原因は何ですか?ありがとうございます。 編集:非逆方向トンネリングがうまく機能するという事実に言及するのを忘れました。 追加情報:-vフラグを使用して実行すると、接続しようとすると次のように出力されます。 debug1: client_input_channel_open: ctype forwarded-tcpip rchan 3 win 2097152 max 32768 debug1: client_request_forwarded_tcpip: listen localhost port 9999, originator 127.0.0.1 port 34590 debug1: connect_next: host 127.0.0.1 ([127.0.0.1]:9190) in progress, fd=9 debug1: channel 1: new [127.0.0.1] debug1: confirm forwarded-tcpip debug1: channel 1: connection failed: Connection refused connect_to 127.0.0.1 port 9190: failed. debug1: channel 1: free: 127.0.0.1, nchannels 2

Admin

インストール(使用可能な場合)
networking
mount
automounting

インストール(使用可能な場合)

私はさまざまな種類のプロトコル(smb、webdav icsi、NFS、およびおそらくより多くのwebdavとsmbを含みますが、もっと含めたい)を使用するいくつかのWebホスティングドライブにアクセスできます。これらのドライブに常にアクセスできるわけではありません(自宅ではVPNを介して職場でのみ直接アクセスできます)。 私の計画は次のとおりです。 type、、、serverを含むリストがあります。path foreach ライン内 ping$server単一応答時間が低い pingが成功したが$pathマウントされていない場合 - >マウントドライブが異なる$type(ローカルディレクトリチェックを含む) pingが失敗し、すでにインストール$pathされている場合 - >アンインストールを試みます。 ファイルがまだ開いているので、umountが失敗した場合はどうなるのかわかりませんが、ネットワークを離れてwebdavドライブを手動でマウントすると、これが起こりました。 。 技術的には、擬似コードに基づいてbashスクリプトを作成できます。最後に、systemd.unitとsystemd.timer(aur)を使用してスクリプトとテンプレートのリストをパッケージ化したいと思います。 私の質問は、上記または同様の機能を実行するパッケージが存在することです。そうでない場合、タイマー装置の間隔は不明である。 10秒ごとに看護する必要がありますか?それとも別のプロトコルのタイムアウトを覚えておくべきですか? AutoFSの内容を読みましたが、それが私の状況に合っているかどうかはわかりません。

Admin